Отдельный пласт задачи — качество данных на выходе. Мало вытащить текст: его надо валидировать, убирать дубли и приводить цены, даты и телефоны к единым форматам, а в базу писать только новое и изменившееся, чтобы не раздувать хранилище. Поверх этого нужен контур эксплуатации — дашборд с метриками прогонов, оповещения при падениях и аномалиях, а весь запуск должен подниматься одной командой через Docker Compose и работать по cron с повторными попытками.
Список конкретных сайтов передадим по NDA после договорённости. В отклике укажите похожие проекты и подход к обходу защит. Ниже — структура работ.
Архитектура
— Scrapy + ротация прокси и User-Agent
— Playwright/Selenium для JS-сайтов
— Обход CAPTCHA (2captcha/anti-captcha)
— Инкрементальный сбор (только новые/изменённые)
Данные
— HTML в JSON и далее в PostgreSQL
— Валидация и дедупликация
— Нормализация полей (цены, даты, телефоны)
Мониторинг
— Дашборд: успешность, объём, ошибки
— Уведомления при сбоях
— Docker Compose + cron
Результат
— Код с тестами
— Docker-конфигурация
— Схема БД
— Runbook