Задача
Разработать Telegram-бота, который ежедневно собирает информацию о лизинговых сделках (сообщения о намерении заключить договор лизинга) из открытых данных портала «Федресурс» (fedresurs.ru) на основании заранее заданных ИНН лизинговых компаний.
Основные требования
- Сбор данных — ежедневно за предыдущий день (сегодня собираем за вчера).
- Регистрация в Федресурсе — для доступа к данным необходим аккаунт (логин/пароль), бот должен уметь авторизоваться.
- Исходные данные: список ИНН компаний (настраивается администратором).
- Выборка — все лизинговые сделки, в которых фигурирует выбранная компания (или только по ней).
- Результат — отправка отчета в виде текста (или файла, например, CSV/Excel) в Telegram чат/канал.
- Размещение на VPS-сервере (Linux) для круглосуточной работы.
- Язык реализации — Python.
Технические детали
- Бот желательно реализовать на aiogram (или python-telegram-bot).
- Парсинг страниц Федресурса стандартными HTTP-запросами + парсинг HTML (BeautifulSoup, lxml).
- Авторизация с отправкой основного запроса.
- Механизм хранения состояния (база/файл), чтобы не пересобирать дубликаты.
- Логирование ошибок.
- Админ-панель — желательно базовая (telegram-админ), но можно без нее, если оговорить.
Требования к коду
- Чистый, модульный код с комментариями.
- Обработка ошибок: таймауты, отсутствие новых данных, сбой сети.
- Возможность запуска и остановки сбора только из чата (командами /startcollect, /stopcollect).
Аргументация и ожидания
Цель заказчик — получать сводку по пробиву лизинговых сделок конкурентов/партнеров ежедневно без ручного мониторинга.