Задача
Разработать автоматизированного бота, который будет отслеживать и собирать темы топовых новостей сразу после их публикации. Бот должен предоставлять данные в удобном формате для дальнейшего использования в Telegram-канале и написания контента.
Ключевые требования
- Автоматический сбор тем и заголовков топ-новостей в режиме реального времени.
- Интеграция с Telegram-каналом (публикация собранных тем).
- Возможность использования собранных данных для написания статей (морфология, краткий обзор).
- Бот должен работать без участия человека (в фоновом режиме).
Детали реализации
- Источники новостей: топ-новости из Яндекс, Google, Mail, РБК, Meduza, РИА Новости и т.д. (уточняется).
- Частота проверки: раз в 1-5 минут.
- Формат вывода: JSON, куда записываются все собранные позиции: тема, ссылка, краткое описание.
- Несколько каналов: проект должен поддерживать параллельный сбор с разных агрегаторов.
- Контент не требует глубокого семантического анализа, достаточно просто получить текст заголовков.
Технологии
- Язык программирования: Python / Python + Aiogram или FastAPI (на ваше усмотрение).
- БД для кеширования (избежание дублей): SQLite или PostgreSQL (обсудим).
- Использование открытых библиотек для парсинга: aiohttp, requests + BS4, Selenium (если нужен JS).
Предпочтения
- Высокая скорость работы - данные должны приходить максимально агрегированно и сразу.
- Архитектура: модульная (есть база с тасками, воркер для мониторинга, воркер-отправщик в канал).
- Простота расширения (добавить новый источник).
Формат сдачи
- Полный исходный код.
- Архитектурная схема (текстовое описание модулей).
- Инструкция по запуску.
- Возможность задеплоить на сервер (ссылку для тестирования).