Python-парсер: цены конкурентов на маркетплейсе

Цены и наличие конкурентов в PostgreSQL дважды в день, алерт в Telegram если цена ушла больше чем на 5%.

Стек Playwright, PostgreSQL, Python, парсер

Клиент — продавец на маркетплейсе (электроника, 800 SKU). Цены конкурентов менялись ежедневно; ручной мониторинг 20 ключевых позиций занимал 2 часа. Промахивались скидки конкурентов — потеря маржи.

Задача: Python-парсер — список URL/SKU из Google Sheets → сбор цены, наличия, рейтинга → PostgreSQL → diff с прошлым прогоном → Telegram-алерт при изменении > порога.

  • requests + BeautifulSoup / Playwright для JS-страниц (настраиваемо);
  • rate limit, random delay, User-Agent rotation; proxy pool optional;
  • cron 2×/день; retry failed URLs;
  • schema: sku, competitor, price, stock, scraped_at;
  • diff engine: price_change_pct, notify if > 5%;
  • export CSV для pricing-отдела;
  • admin: add/remove SKU без деплоя (sheet sync).

Стек: Python 3.11, requests, Playwright, PostgreSQL, pandas, aiogram, cron/Docker. Приёмка: 50 SKU, accuracy > 98% vs manual check.

Итог: реакция на изменение цен за часы, не дни; margin recovery на ключевых SKU. NDA: продавец не публикуется.