Задача
Продавец на маркетплейсе следил за ценами конкурентов руками и пришёл это выключить.
Каждое утро он открывал полсотни чужих карточек, переписывал цены в блокнот, к пятнице уже не помнил кто и когда подвинулся.
Задача была поставлена так: раз в сутки видеть свежий срез по конкурентам и получать сигнал сразу, как только кто-то ушёл ниже его цены.
Что сделал
Парсер на Python, запросы через httpx, разбор ответов через selectolax.
Собирает карточки по списку поисковых запросов и по прямым ссылкам на конкурентов - цена, остаток, позиция в выдаче, метка акции.
Пишет в Google Таблицу через gspread: лист сегодняшнего среза и лист истории, куда каждый прогон дописывает строку на товар.
Алерты уходят ботом на aiogram - цена конкурента ниже порога, товар пропал из наличия, своя карточка уехала ниже заданного места в выдаче. Порог задаётся колонкой в самой таблице, без правок кода.
Ломается в таких проектах всегда одно - блокировки и тихая смена вёрстки. Закрыл паузой со случайным разбросом между запросами, повтором с растущим интервалом на 429 и 5xx, пулом прокси с выбыванием мёртвых.
Результат
Ручной обход карточек занимал около полутора часов в день, сейчас это одна вкладка с таблицей.
На демпинг соседа продавец реагирует в тот же день по алерту и сам решает, догонять цену или переждать.
История по дням дала неожиданное: часть конкурентов роняет цену только на выходные, гнаться за ними смысла нет.