Комментарии 26
Ты большой молодец.
спасибо за статью
полезно очень!
полезно очень!
А почему за один execute забирается до 25к участников? Эта цифра получена каким-то опытным путем?
Максимальное количество запросов в execute 25, за один запрос можно получить не более 1 000 участников. Следовательно максимальное число участников полученное от execute = 1 000 * 25
А цифра 25 откуда? В документации ничего об этом нет.
Я тоже пользовался execute для склейки длинных списков, но так и не заметил конкретной цифры, после которой мне отвечают, что execute исполнялся долго и прекратился по timeout
Я тоже пользовался execute для склейки длинных списков, но так и не заметил конкретной цифры, после которой мне отвечают, что execute исполнялся долго и прекратился по timeout
Чтобы не передавать весь код каждый раз, просто создайте в вашем приложении хранимую процедуру и вызывайте ее обычным рестом.
П.С: Тоже пользуюсь этой фишкой. Только еще и через несколько акков )
Я думаю, те кто так или иначе качал инфу юзеров/групп контакта знают про эту штуку. Правда скачивание лайков все еще является убийственным, по количеству запросов.
П.С: Тоже пользуюсь этой фишкой. Только еще и через несколько акков )
Я думаю, те кто так или иначе качал инфу юзеров/групп контакта знают про эту штуку. Правда скачивание лайков все еще является убийственным, по количеству запросов.
и тут внезапно контактик полег…
А какой дневной лимит на вызовы API для одного id?
не слышал о дневном лимите, я думаю его нет.
Лимиты вроде как есть — vk.com/dev/api_requests:
Помимо ограничений на частоту обращений, существуют и количественные ограничения на вызов однотипных методов. По понятным причинам, мы не предоставляем информацию о точных лимитах.
Надо было назвать статью «как уронить вконтакте написав статью на хабрахабр»
groups.getMembers — открытый метод, на него не действует ограничение 3 запроса в секунду, так как он может вызываться без access_token'a, т.е время в 22 минуты это очень преувеличено)
в то же время execute может поймать сразу 3 ошибки — флуд контроль, каптча, много запросов в секунду. Поэтому тут вопрос немного спорный, но я тоже юзаю execute для этой цели, когда запросы шлю с токеном, но делаю по 10 запросов, а не 25, разница не очень заметна, а если нужно показывать прогресс обработки — то по 10 визуально лучше. ну а с сервера исключительно чистый метод, без токена, что бы не нагружать токены.
в то же время execute может поймать сразу 3 ошибки — флуд контроль, каптча, много запросов в секунду. Поэтому тут вопрос немного спорный, но я тоже юзаю execute для этой цели, когда запросы шлю с токеном, но делаю по 10 запросов, а не 25, разница не очень заметна, а если нужно показывать прогресс обработки — то по 10 визуально лучше. ну а с сервера исключительно чистый метод, без токена, что бы не нагружать токены.
На сколько мне известно, можно не извращаться с формированием переменной code на стороне клиента (мало того, код функции сейчас доступен каждому), а сохранить этот код в качестве хранимой процедуры на стороне ВК. Итог тот же, только передавать переменную code не нужно.
Всё хорошо, за исключением того, что если число участников сообщества после запуска скрипта по какой-либо причине уменьшилось, и не растёт, то условие if (members_count > membersGroups.length) не будет выполнено, и цикл будет выполняться до тех пор пока число подписчиков снова не возрастёт. На мой взгляд, лучше использовать в условии не число ранее извлечённых подписчиков membersGroups.length, а считать количество вызовов и умножать на 25000. Что скажете?
Для крупных сообществ, сбор списка Участников которых занимает относительно протяженное время, возможна ситуация, когда кто-то вышел/вошёл прямо во время считывания. Если в это время вы читаете Участников с offset ближе к концу, это вероятно скажется на смещении базы пользователей на эти 1-2 аккаунта.
Поэтому, если важна точность до каждого аккаунта, как напр. в моём «Дезертире», считывать список приходится с захлёстами между отдельными тысячами.
Практика показывает, что на миллионниках это помогает избежать ошибок.
Поэтому, если важна точность до каждого аккаунта, как напр. в моём «Дезертире», считывать список приходится с захлёстами между отдельными тысячами.
Практика показывает, что на миллионниках это помогает избежать ошибок.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Получение участников сообщества vk.com за считанные секунды