Ерем Шахбазян › Erem01 Сбер ID
Делаю сложные задачи простыми решениями
Рейтинг
9 609
№ 111 в каталоге
Отзывы
Профессионализм
9/10
Коммуникация
9 /10
Город
Москва
Опыт работы
5 лет
На сайте с
2025 года
Юридический статус
Самозанятый

Telegram-бот мониторинга цен Wildberries: изменение цены и скидки, товар закончился или снова в наличии — уведомления по артикулу

Используемые навыки Bot Development Python SQLite Telegram API

Описание

Продавцам на Wildberries важно знать, когда конкуренты меняют цену или у них заканчивается товар, а покупателям — когда нужная вещь подешевела или снова появилась. Вручную проверять десятки карточек каждый день нереально.

Нужен был Telegram-бот: присылаешь артикул или ссылку на товар — и дальше он сам следит за ценой и наличием и пишет, только когда что-то действительно изменилось.

Сложность в том, что Wildberries защищается от ботов: цену больше нельзя достать из кода страницы, а его API без проверки «вы не человек» отвечает отказом. Старый способ парсинга перестал работать.

Решение

Сделал бота на Python и aiogram 3 с хранением истории в SQLAlchemy и обходом по расписанию через APScheduler.

Чтобы получать данные, несмотря на защиту, парсер открывает карточку товара в настоящем браузере Chromium через Playwright, проходит проверку, как обычный посетитель, и перехватывает ответ API, который запрашивает сама страница. Из него берутся цена для покупателя, цена до скидки, общий остаток по складам, рейтинг и число отзывов. Разбор ответа вынесен в отдельную функцию и проверен на настоящих ответах WB — для товара в наличии и без наличия.

За один обход браузер запускается один раз на все товары, а сбой по одному товару не ломает остальные. После каждого обхода сохраняется срез, и бот сравнивает его с предыдущим: изменение цены — с разницей в рублях и процентах, мелкие колебания ниже порога не беспокоят; отдельные уведомления — «товар закончился» и «снова в наличии».

Команды: добавить товар, список отслеживаемого с текущими ценами, последний срез по товару, удалить, включить или выключить уведомления. Есть проверка без Telegram одной командой. Поведение закреплено 26 автотестами, включая полный обход с подменёнными WB и Telegram.

Результат

Бот работает на живых данных Wildberries: по артикулу показывает цену, скидку, остаток и рейтинг и сам присылает уведомление, когда меняется цена или наличие. Вместо ежедневной ручной проверки карточек — короткие сообщения только о том, что изменилось.

Код открыт, запуск одной командой, на сервере — под виртуальным дисплеем; все настройки — в одном файле с примером.

Оценили проект:

Другие проекты

Все проекты →
Веб-разработка и IT Финансовая панель Saibi-Bobo для управления личными доходами и расходами
Финансовая панель Saibi-Bobo для управления личными доходами и расходами
340
Веб-разработка и IT Реализация алгоритмов поиска пути для агента Pacman: DFS, BFS, Uniform Cost Search и A* для навигации в лабиринте
Реализация алгоритмов поиска пути для агента Pacman: DFS, BFS, Uniform Cost Search и A* для навигации в лабиринте
204
Веб-разработка и IT Корпоративный VPN-сервис с маскировкой трафика и системой белых списков
Корпоративный VPN-сервис с маскировкой трафика и системой белых списков
421
Веб-разработка и IT Платформа управления товарами и продажами для онлайн-бизнеса (интеграции, автоматизация, аналитика)
Платформа управления товарами и продажами для онлайн-бизнеса (интеграции, автоматизация, аналитика)
211