Опис проєкту
ПерекладНе менш важливо те, що відбувається після завантаження сторінки. Сирий HTML потрібно перетворювати в перевірені й очищені від дублів записи, а ціни, дати й телефони — приводити до єдиних форматів ще до попадання в базу. Зберігати має сенс тільки нове чи змінене, тому потрібна інкрементальна логіка. Поверх цього нам важлива операційна прозорість: дашборд з успішністю запусків й обсягами, сповіщення при збоях й аномаліях у даних, а також відтворюваний деплой, який можна піднути з нуля без усних легенд.
Конкретні цільові сайти конфіденційні й передаються за NDA після узгодження умов. У відповіді напишіть, з якими антибот-захистами ви вже стикалися й як утримували парсер стабільним у часі. Повний обсяг робіт нижче.
1. Архітектура скрейпера
— Scrapy + ротація проксі та пула User-Agent
— Playwright/Selenium для JS-сайтів
— Обхід CAPTCHA (2captcha / anti-captcha)
— Rate limiting, дотримання robots.txt
2. Пайплайн даних
— HTML у структурований JSON
— Валідація й дедублікація
— Нормалізація цін, дат, телефонів
— Зберігання в PostgreSQL з проектуванням схеми
— Інкрементальні оновлення (тільки нові/змінені записи)
3. Моніторинг і експлуатація
— Дашборд: успішність запусків, кількість записів, помилки
— Сповіщення в Slack/email при збоях
— Деплой через Docker Compose
— Cron-розклад з логікою повторів
Цільові сайти
— Конфіденційно (NDA) — деталі після угоди
— Суміш статичних та SPA-сайтів
Результат
— Вихідний код з тестами
— Docker Compose конфігурація
— Міграції схеми БД
— Runbook і настройка моніторингу