Skip to content

Latest commit

 

History

History
31 lines (24 loc) · 1.94 KB

README.md

File metadata and controls

31 lines (24 loc) · 1.94 KB

Распределенно сохраняет пары (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.