{ Telegram-бот для мониторинга новых авто на AV.by: парсинг объявлений и мгновенные уведомления }

О проекте
Этот проект представляет собой автоматизированную систему для отслеживания новых объявлений на сайте av.by. Бот сканирует разделы по заданным фильтрам (BMW 5 серии определенных поколений), обнаруживает новые предложения и отправляет их в Telegram-канал. Решение идеально для автодилеров, перекупов и частных лиц, желающих первыми находить выгодные предложения.
Ключевые функции
-
Автоматический парсинг AV.by
-
Фильтрация по марке (BMW), модели (5 серии), поколению (F10/F11) и типу кузова (универсал).
-
Динамическая обработка пагинации: расчет количества страниц на основе числа объявлений.
-
-
Умное сравнение данных
-
SQLite-база для хранения ссылок.
-
Поиск новых объявлений через сравнение с сохранёнными записями.
-
-
Интеграция с Telegram
-
Мгновенная отправка уведомлений о новых лотах.
-
Поддержка групповых чатов и каналов.
-
Технические особенности
-
Selenium WebDriver
Полноценная эмуляция браузера для работы с JavaScript-контентом. Ожидание загрузки элементов (implicitly_wait
). -
Алгоритм работы
-
Расчет общего числа объявлений → определение количества страниц.
-
Последовательный парсинг всех страниц (например,
page=1&sort=2
). -
Фильтрация новых ссылок через SQL-запросы.
-
-
Расписание
Бесконечный цикл с проверкой каждые 10 секунд.
Пример уведомления
plaintext
Новое авто на сайте: ['https://cars.av.by/bmw/5-serija/108887789']
Преимущества для пользователей
-
Экономия времени
Ручной мониторинг 100+ объявлений занимает часы → бот делает это за минуты. -
Гибкие фильтры
Легко изменить критерии поиска в URL (бренд, модель, поколение). -
История объявлений
База данных предотвращает повторные уведомления.
Ограничения и улучшения
-
Нет обработки ошибок
При изменении структуры сайта скрипт сломается → добавитьtry-except
. -
Только ссылки
Можно расширить, добавив парсинг цены, года пробега. -
Задержки
time.sleep(10)
→ заменить на WebDriverWait для оптимизации скорости.
Инструкция по запуску
-
Установите зависимости:
bash
-
pip install selenium requests
-
Скачайте ChromeDriver, совместимый с вашим Chrome.
-
Замените в коде:
-
TOKEN
на свой Telegram-токен. -
chat_id
на ID целевого чата.
-
-
Настройте фильтры в
base_url
(бренд, модель, поколение). -
Запустите скрипт:
bash
-
python avby_monitor.py
Технологии: Python 3.x, Selenium, SQLite, Telegram Bot API.
Для разработчиков:
-
Пример расширения: добавление парсинга цены и пробега.
Проект идеален для тех, кто хочет быть первым на рынке подержанных авто. Находите лучшие предложения — пока другие только ищут!