Распределенно сохраняет пары (photo_url, user_id) для первых 20 фото для всех пользователей вк.
Задачи разделяются через одну запись в redis'e.
Требуется только node.js.
git clone https://github.com/paulll/vk-profile-photo-fetch
cd vk-profile-photo-fetch
npm i .
nano settings.js # адрес redis и токены вконтакте
node .
- автоматическое горизонтальное масштабирование (распределение задач при запуске нескольких инстанций)
- загрузка с использованием разных токенов
- поддержка прокси (http)
- объединение запросов через execute
- минимальный оверхед по трафику, execute урезает все лишние данные
- асинхронное выполнение, не создает кучу потоков, что эффективно в плане озу
- обработка ошибок (5,6,13)
-
Закрытые профили игнорируются полностью, хотя существует возможность получить по крайней мере аватарку. Но такая возможность опирается на другой метод API
(users.get)
. При этом, получить оригинал фотографии невозможно. -
Конечно, можно качать и до 200 фотографий на профиль, но из-за кода, выбирающего наибольшую версию изображения, значительно возрастёт количество ошибок
(13)
. В таком случае, следует уменьшить users_per_request.