Files
marketing-parser/Расширить систему сбора данных, добавив парсеры для трёх новых RSS-источников.md
2025-09-14 18:01:22 +05:00

2.9 KiB
Raw Permalink Blame History

Техническое задание для 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 полностью соответствует существующей модели.