### Техническое задание для AI-агента **Задача:** Расширить систему сбора данных, добавив парсеры для трёх новых RSS-источников. **Контекст:** Мы увеличиваем охват нашей аналитической платформы, подключая новые ключевые источники новостей из Казахстана и России. Каждый источник должен быть реализован как отдельный, независимый сервис для надежности. --- ## 1\. Общие требования для всех парсеров Для каждого из трёх источников ниже необходимо создать отдельный Spring Boot сервис, который: - Получает данные из RSS-ленты по URL. - Парсит XML, извлекая `title`, `link`, `pubDate`, `description`. - Нормализует данные: очищает текст от HTML, приводит дату к формату ISODate. - Генерирует уникальный `sha256` хэш (`url + "::" + title`). - Сохраняет результат в общую коллекцию MongoDB `market_items` с операцией `upsert` по хэшу. - Запускается автоматически по расписанию **каждые 30 минут** (`@Scheduled(cron = "0 0/30 * * * ?")`). --- ## 2\. Список новых источников и их конфигурация ### Источник 1: LSM.kz - **URL:** `https://lsm.kz/rss` - **Название сервиса:** `lsm-parser-service` - **`source_name` в MongoDB:** `LSM.kz` - **`category` в MongoDB:** `Финансы` ### Источник 2: РБК - **URL:** `https://static.feed.rbc.ru/rbc/logical/footer/news.rss` - **Название сервиса:** `rbc-parser-service` - **`source_name` в MongoDB:** `РБК` - **`category` в MongoDB:** `Бизнес` ### Источник 3: Ведомости (Технологии) - **URL:** `https://www.vedomosti.ru/rss/rubric/technology/internet` - **Название сервиса:** `vedomosti-parser-service` - **`source_name` в MongoDB:** `Ведомости` - **`category` в MongoDB:** `Технологии` --- ## Критерии выполнения - Созданы три новых Spring Boot сервиса, каждый для своего источника. - Данные со всех трёх новых RSS-лент успешно собираются каждые 30 минут и сохраняются в коллекцию `market_items` без дубликатов. - Структура сохраняемых документов в MongoDB полностью соответствует существующей модели.