Skip to content

Instantly share code, notes, and snippets.

@maestrow
Last active October 5, 2017 22:58
Show Gist options
  • Save maestrow/faa07b981dd2ac0d3a10d4f218c5a5d2 to your computer and use it in GitHub Desktop.
Save maestrow/faa07b981dd2ac0d3a10d4f218c5a5d2 to your computer and use it in GitHub Desktop.
Content/News/Feeds Aggregators, RSS-readers

Инфраструктура

Источники данных (Адреса) Генераторы RSS Соответствие шаблонов адресов и генераторов rss Фильтр Конвертер Подборка

Генератор rss. Идея состоит в том, чтобы получить из определенного url данные в формате rss xml. Для извлечения данных из веб-страниц используются технологии Web Scrapping.

Конвертер - преобразует каждый элемент исходного rss в выходной. Почему конвертер относится к элементу, а не к списку? - потому что, если требуется пропустить некоторые элементы, то для этого есть фильтр, а добавлять элементы (разбивать один на несколько) нецелесобразно. Основная задача конвертера менять состав тэгов. В общем случае конвертер - это скрипт. Можно выбрать xsl или декларативно задать правила изменения состава тэгов.

Подборка - это один или несколько источников данных. Каждый источник может проходить через настроенный фильтр и конвертер. В качестве источника можно выбрать другую подборку. Пример:

Подборка: Источник 1 |> Фильтр |> Конвертер Источник 2 |> Фильтр |> Конвертер

Одинаковые записи из подборок должны удаляться.

Для каждой подборки настраивается расписание обновления.

open System.ServiceModel.Syndication
let uri = "https://stackoverflow.com/feeds/tag?tagnames=c%23+asp.net-mvc&sort=newest"
let feed = SyndicationFeed.Load(XmlReader.Create(uri))
feed.Items |> Dump |> ignore
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment