Какой лучший способ создать пайплайн для публикации скрапленных данных в категории Discourse с кастомными темами на основе вкладок?

Мы хотим создать автоматизированный конвейер для обновления кастомной темы Discourse, которую мы разработали и которая содержит разные вкладки для различных типов скрапированного контента:

  1. Извлечение контента из источников (RSS-ленты, веб-сайты и т. д.)
  2. Структурирование данных с метаданными: заголовок, источник, тип (новости/конференции), URL, дата
  3. Использование API Discourse для:
  • Создания темы в правильной категории и обновления контента в конкретных вкладках кастомной темы.
  • Добавления соответствующих тегов (чтобы контент отображался в нужной вкладке)

Какой способ лучше всего подходит для хранения скрапированных данных и их отображения:

  1. Локальная база данных или внешняя CMS для хранения и планирования контента или
  2. Файлы YAML/JSON (статический источник)

Возможно, стоит заглянуть на RSS Polling

Спасибо pfaffman за предложения плагинов. Однако у нас нет данных RSS-ленты, мы храним собранные данные в отдельной базе данных. Можно ли использовать этот плагин для подключения к отдельной базе данных, получения необходимых данных и отображения контента?

Это был пример. Вы можете либо преобразовать свои спаршенные данные в RSS-канал, либо модифицировать плагин для чтения любого формата, который вы хотите использовать.

Я бы, вероятно, написал скрейпер на Ruby и интегрировал его в плагин.

Или, возможно, использовать Use the Discourse API ruby gem, разместить это в действии GitHub и настроить автоматическую отправку данных. Я планирую сделать это для клиента, который использует хостинг и не может использовать пользовательский плагин.

Спасибо, Джей. Разработка парсера на Python уже завершена… теперь мы оцениваем, как отображать собранные данные, которые хранятся в MongoDB.