Скрипт следит за лентой новых заказов биржи FL.ru и присылает в Telegram только подходящие. Фильтр по разделу, бюджету, стоп-словам и ключевым словам отсекает дизайн, тексты, вакансии и прочий шум: из 894 заказов в ленте до уведомления дошли 89.
Для подходящего заказа скрипт открывает полную страницу и проверяет текст второй раз: в ленте описание обрезано, и часть мусора видна только целиком. В уведомлении — заголовок, бюджет, раздел, сколько прошло с публикации, сколько заказчик на сайте и ссылка. Заказы старше нескольких часов помечаются отдельно.
Каждый заказ приходит один раз, даже после сна компьютера и обрыва связи. Если сайт или сеть сбоят несколько опросов подряд, бот пишет «сломан», а потом «снова в строю». Отдельный сторож раз в 15 минут проверяет, что скрипт жив, и сам поднимает его после падения. По утрам приходит сводка.
Все уведомления и весь поток ленты пишутся в файлы — по ним видно, какие разделы и бюджеты встречаются чаще.
Тот же подход переносится на другие сайты с объявлениями, вакансиями и заказами.
Стек: Python, RSS, Telegram Bot API.
Собственный проект.