Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OLX Bot уведомления о выгодных объявлениях

Что делает

Раз в CHECK_INTERVAL_SECONDS парсит OLX по каждому запросу из SEARCH_QUERIES. Новые (ещё не сохранённые) объявления сравнивает со средней ценой по всем ранее сохранённым объявлениям того же запроса. Если цена минимум на 15% ниже средней — добавляет в сообщение пометку 🔥 ВЫГОДНАЯ ЦЕНА! Рассылает сообщение всем, кто написал боту /start.

Установка

pip install -r requirements.txt

Настройка

  1. Получи токен у @BotFather и вставь в config.pyBOT_TOKEN.
  2. Задай список запросов в config.pySEARCH_QUERIES (например "iphone 13", "playstation 5").
  3. При желании поменяй CHECK_INTERVAL_SECONDS и DISCOUNT_THRESHOLD_PERCENT.

Запуск

python bot.py

Каждый пользователь пишет боту /start, чтобы подписаться на рассылку, и /stop, чтобы отписаться.

Важные нюансы

Вёрстка OLX может меняться. Если парсер вдруг перестанет находить объявления открой страницу поиска OLX в браузере, посмотри код карточки объявления и поправь селекторы в parser.py (сейчас используются data-cy="l-card" и data-testid="ad-price"). Не гоните интервал слишком агрессивно. Частые запросы с одного IP могут привести к временной блокировке со стороны OLX. 5 минут разумный минимум для старта. Средняя цена считается только когда накопилось MIN_SAMPLES_FOR_AVERAGE объявлений по конкретному запросу иначе оценка "выгодности" на первых 1-2 объявлениях была бы случайной. База данных: простой файл olx_bot.db (SQLite), создаётся автоматически при первом запуске. Для постоянной работы бота (24/7) стоит запускать его на сервере/VPS через systemd, screen/tmux или Docker, а не держать терминал открытым.

About

Telegram-бот, который мониторит объявления OLX и уведомляет о ценах ниже рыночных

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages