Доброго времени суток.
Пишу парсер для вконтакте, один из блоков вытягивает id участников группы, вот код.
ArrayList<String> getLinksList() throws IOException, ClientException, ApiException {
ArrayList<String> linksList = new ArrayList<>();
List<Integer> linkList = vkApiClient.groups().getMembers(actor).groupId(getGroupLink()).offset(getOffset()).execute().getItems();
for (Integer friend : linkList) {
linksList.add("https://vk.com/id"+friend+"\r\n");
}
return linksList;
}
Integer getMembersCount() throws ClientException, ApiException {
actor = AuthorizationOnVkCom.getActor();
return vkApiClient.groups().getMembers(actor).groupId(getGroupLink()).execute().getCount();
}
Сначала контроллер запрашивает количество участников группы, на основе этого числа идёт прогресс бар, и запрашивается следующая порция участников(максимальное количество объектов в ответе == 1000).
Изначально тестировал на группе в 3к пользователей, всё хорошо работает. Потом стало интересно, как сделать парсинг закрытых групп. Ну а так как мне нужны только id участников, а эта информация общедоступна, то просто забил в свой парсер ссылку на одну закрытую группу. Он сразу же схватил и пошёл парсить.
Собственно проблема в чём. При парсинге группы с количеством участников больше 8 000, парсер встаёт как раз на этих 8 тысячах. Пробовал добавить задержку, не помогло.
Есть какие нибудь идеи?