Парсер цен с историей изменений и выгрузкой в Excel

Ссылка на работу
image image
Парсер следит за ценами и наличием в интернет-магазине по расписанию и сообщает в Telegram, когда что-то изменилось: подешевело, подорожало, закончилось, снова в наличии, новинка, снято с продажи. Собственный демо-проект, в примере обходит учебный магазин books.toscrape.com. Результат — таблица Excel (или Google Таблица, если подключить) с листами «Товары» и «История цен» и короткое уведомление в Telegram со ссылкой на товар. На что обратить внимание: — товар опознаётся по артикулу, а не по ссылке: магазин перенёс товар в другой раздел — в таблице это та же строка, а не дубль; — история пишется только при изменении цены или остатка, лист не раздувается одинаковыми строками; — первый запуск молчит, иначе весь каталог пришёл бы «новинками»; — если страница не открылась из-за сбоя, товар не считается снятым с продажи — никаких ложных тревог; — бережно к сайту: не больше 5 запросов одновременно, повтор с паузой при ошибках сервера; — цены хранятся без округлений. Обход по расписанию: раз в 30 минут, 6 часов или сутки. Под другой сайт меняется только модуль сбора, таблицы и уведомления остаются как есть. Стек: Python, httpx, BeautifulSoup, SQLite, openpyxl, Google Sheets API, Telegram Bot API.
https://github.com/Salaneze/price-monitor-demo