Разработка парсера каталога мессенджера MAX
Описание
Требуется разработать сервис для сбора данных из публичного каталога мессенджера MAX (max.ru). Сервис должен собирать информацию о публичных каналах, чатах и ботах, сохраняя её в базу данных на сервере заказчика.
По каждому объекту необходимо собирать: тип (канал/чат/бот), наименование, описание, ссылку (и username), а также ссылку на аватар и локальную копию файла.
Функциональность сервиса включает: 1. Первичный полный обход каталога для максимального охвата. 2. Постоянный режим работы для обнаружения новых объектов и обновления изменившихся. 3. Дедупликация данных на уровне БД с использованием уникальных индексов и upsert. 4. Очередь задач с сохранением прогресса, обеспечивающая устойчивость к перезапускам сервера. 5. Аккуратные запросы с настраиваемыми лимитами, задержками и поддержкой прокси.
Предполагаемый стек технологий: Python (или Node.js), PostgreSQL, Docker Compose. Требуются миграции и логирование. Доступ к данным должен осуществляться напрямую в БД, а также через простой REST API с фильтрами по типу и дате появления.
Результаты работы: код в репозитории, развёртывание на сервере заказчика, документация (readme) по установке и настройке.
Важно: поскольку официального API каталога нет, первым этапом необходимо провести исследование источника (как работает поиск и каталог в веб-клиенте) и разработать PoC (Proof of Concept) для ~100 объектов. Оплата будет производиться поэтапно, первый этап оплачивается отдельно.
