Следи за сайтами как хищник: цены, остатки, появление товара — всё под контролем
Бывает, нужно постоянно следить за сайтом — например, где-то появляются редкие или дешёвые товары, которые быстро разбирают. Или важны любые изменения: цены, остатки, наличие, и вы не хотите их пропустить.
🔧 Вместо того чтобы сидеть и обновлять страницу вручную, можно за 15 минут собрать автоматический скрипт на Python с помощью OpenAI (ChatGPT) — и он будет всё делать сам:
- Проверять сайт 24/7
- Отслеживать изменения в таблицах или карточках товаров
- Уведомлять вас через Telegram и на рабочем столе
- Сохранять логи в Excel
⚠ Оговорка: это только пример
Скрипт написан так, чтобы его легко можно было переиспользовать под любой сайт — с любыми данными, тегами, таблицами, блоками, карточками и т.д. Пример ниже показывает сайт с HTML-таблицей, но точно так же можно мониторить:
- API-данные
- Карточки товаров
- Надписи типа "в наличии / нет"
- Кнопки "купить"
- Тексты, цены, статусы и всё что угодно
🧠 Что делает скрипт?
- 🔄 Заходит на сайт с заданной периодичностью (по умолчанию — каждые 5 секунд)
- 🔍 Считывает таблицу с товарами и сравнивает с предыдущим состоянием
- 📬 При изменении количества или появлении новых позиций: Отправляет уведомление в Telegram Показывает всплывающее уведомление на рабочем столе Открывает отдельное окно в браузере (с миганием!)
- 📊 Все изменения записывает в Excel-отчёт
📲 Как выглядят уведомления?
Telegram:
arduinoКопироватьРедактироватьУведомление с сайта https://example.com: Изменение: Подписчики — Кол-во изменилось с 100 на 80
На рабочем столе:
Изменение на сайте: Подписчики — с 100 до 80
В браузере: Открывается окно с сообщением и мигает 3 раза — чтобы точно не пропустить.
📊 Как выглядит отчёт?
Скрипт автоматически создаёт Excel-файл, например monitoring_report_20250329_153023.xlsx. Внутри:
Время проверкиТоварБылоСталоИзменения2025-03-29 15:30:23Подписчики10080Изменено2025-03-29 15:30:23Лайки500500Без изменений
⚙ Настройки и критерии — любые под ваши задачи
Один из главных плюсов — гибкость. Вы сами задаёте, что отслеживать, как реагировать, и куда сохранять. Скрипт легко адаптируется под любые цели.
🎯 Что отслеживать:
- Название товара
- Остаток, цена, наличие
- Появление или исчезновение кнопок
- Тексты (“в наличии”, “распродажа”, “скоро в продаже”)
- Ключевые слова или значения на странице
- Любой HTML-блок или атрибут
⏱ Интервал проверки:
Проверка может быть:
- Каждые 5 секунд
- Каждые 10 минут
- 1 раз в час
Просто меняется параметр:
pythonКопироватьРедактироватьmonitor_website(interval_seconds=300) # Проверка раз в 5 минут
📬 Уведомления:
- Telegram (нужно только токен и chat_id)
- Рабочий стол (всплывающее уведомление через plyer)
- Окно браузера (автоматически открывается и мигает)
Можно легко добавить:
- Discord
- Webhook
- SMS или Push
📁 Формат логирования:
По умолчанию — Excel, но можно сделать:
- CSV
- TXT
- JSON
- Google Sheets
- Базу данных (SQLite, PostgreSQL и др.)
📌 Условия уведомлений:
Вы можете настроить:
- Уведомление только если товар появился
- Только если количество стало меньше 10
- Только если цена опустилась ниже 100₽
- Только по конкретным названиям товаров
- Или вообще — только один раз в сутки
💡 Технологии:
Используемые библиотеки:
bashКопироватьРедактироватьpip install pandas openpyxl selenium bs4 plyer webdriver-manager
- pandas и openpyxl — работа с Excel
- selenium + BeautifulSoup — для парсинга HTML
- requests — Telegram-бот
- plyer — уведомления
- threading — параллельность
- logging — для логов
- ChromeDriverManager — автоматическая установка драйвера
🧑💻 Как запустить?
- Положите в папку файл config.txt со следующим содержимым:
php-templateКопироватьРедактировать<ваш_бот_токен> <ваш_chat_id>
- Укажите сайт, который хотите мониторить, в переменной SITE_URL
- Запустите скрипт — и всё работает. Вы в курсе всех изменений.
КОД
💬 Если будут вопросы или появятся идеи — просто напиши. Всегда рад обсудить.