Задача

Разработать Telegram-бота, который ежедневно собирает информацию о лизинговых сделках (сообщения о намерении заключить договор лизинга) из открытых данных портала «Федресурс» (fedresurs.ru) на основании заранее заданных ИНН лизинговых компаний.

Основные требования

  • Сбор данных — ежедневно за предыдущий день (сегодня собираем за вчера).
  • Регистрация в Федресурсе — для доступа к данным необходим аккаунт (логин/пароль), бот должен уметь авторизоваться.
  • Исходные данные: список ИНН компаний (настраивается администратором).
  • Выборка — все лизинговые сделки, в которых фигурирует выбранная компания (или только по ней).
  • Результат — отправка отчета в виде текста (или файла, например, CSV/Excel) в Telegram чат/канал.
  • Размещение на VPS-сервере (Linux) для круглосуточной работы.
  • Язык реализации — Python.

Технические детали

  • Бот желательно реализовать на aiogram (или python-telegram-bot).
  • Парсинг страниц Федресурса стандартными HTTP-запросами + парсинг HTML (BeautifulSoup, lxml).
  • Авторизация с отправкой основного запроса.
  • Механизм хранения состояния (база/файл), чтобы не пересобирать дубликаты.
  • Логирование ошибок.
  • Админ-панель — желательно базовая (telegram-админ), но можно без нее, если оговорить.

Требования к коду

  • Чистый, модульный код с комментариями.
  • Обработка ошибок: таймауты, отсутствие новых данных, сбой сети.
  • Возможность запуска и остановки сбора только из чата (командами /startcollect, /stopcollect).

Аргументация и ожидания

Цель заказчик — получать сводку по пробиву лизинговых сделок конкурентов/партнеров ежедневно без ручного мониторинга.