"Одна RSS лента = один пост" или мэшап внутри RSS с помощью Yahoo Pipes

Опубликовано в (Yahoo Pipes) | автор splogmaster | 23-12-2008

Тэги: , ,

В этом посте я хочу показать, как с помощью Yahoo Pipes сделать объединение item‘ов одной RSS-ленты и получить на выходе RSS с одним большим/контентным item‘ом. Ведь в общем случае RSS лента сожержит в себе обрезки/анонсы новостей длиной в пару строк, и делать с одной такой обрезки один пост - это детский сад. Пост должен быть ну хотя бы в 1000 символов, поэтому просто возьмем и объединим обрезки новостей внутри самой RSS-ленты, чтобы потом со всего этого у нас получился всего один, но нормальный по длине пост.

Для решения этой задачи в Yahoo Pipes нам нужно самим создать RSS-фид, затем, используя цикл Loop, внедрить в созданный фид RSS-ленту с контентом, дабы получить доступ к элементам этой ленты на уровне item‘ов, ну и, наконец, объединить их и записать результат в созданный в самом начале фид.

Поехали… Создаем пустой фид с набором минимальных подэлементов (о структуре RSS читайте здесь) с помощью модуля Item Builder:

yahoo-pipes-mashup-rss

Затем, с помощью модуля Loop внедряем в созданный нами пустой фид RSS-ленту с контентом, результат помещаем в item.rss. В отладчике можно увидеть структуру рабочего фида и те самые обрезки новостей, которые нам нужно объединить в одно целое, которое потом и будет нашим постом:

yahoo-pipes-mashup-rss-1

Теперь нам нужен модуль Regex. Что мы будем им делать объяснить сложно. Мы будем вытаскивать description и link каждого item‘а внедренной контентной ленты, потом мы все это дело объединим, ну и в конце мы заполним пустые подэлементы изначально созданного фида, т.е. сделаем из него полноценный RSS-поток, который можно будет использовать в качестве источника контента для сплога - мы просто скопируем заголовок, ссылку и дату публикации первого item’а контентнтой ленты. Ну и в самом конце мы подчистим следы в ссылках:

yahoo-pipes-mashup-rss-2

В виде RSS полученный нами результат будет выглядеть так:

yahoo-pipes-mashup-rss-3

Структура, внешний вид объединенных обрезков задается на уровне HTML, и он может быть каким захотите.

Исходник трубы для внутреннего мэшапа RSS-ленты

Результат выполнения трубы в виде RSS





Комментарии:

Оставить комментарий