"Одна RSS лента = один пост" или мэшап внутри RSS с помощью Yahoo Pipes
Опубликовано в (Yahoo Pipes) | автор splogmaster | 23-12-2008
Тэги: rss, мэшап, труба
В этом посте я хочу показать, как с помощью Yahoo Pipes сделать объединение item‘ов одной RSS-ленты и получить на выходе RSS с одним большим/контентным item‘ом. Ведь в общем случае RSS лента сожержит в себе обрезки/анонсы новостей длиной в пару строк, и делать с одной такой обрезки один пост - это детский сад. Пост должен быть ну хотя бы в 1000 символов, поэтому просто возьмем и объединим обрезки новостей внутри самой RSS-ленты, чтобы потом со всего этого у нас получился всего один, но нормальный по длине пост.
Для решения этой задачи в Yahoo Pipes нам нужно самим создать RSS-фид, затем, используя цикл Loop, внедрить в созданный фид RSS-ленту с контентом, дабы получить доступ к элементам этой ленты на уровне item‘ов, ну и, наконец, объединить их и записать результат в созданный в самом начале фид.
Поехали… Создаем пустой фид с набором минимальных подэлементов (о структуре RSS читайте здесь) с помощью модуля Item Builder:
Затем, с помощью модуля Loop внедряем в созданный нами пустой фид RSS-ленту с контентом, результат помещаем в item.rss. В отладчике можно увидеть структуру рабочего фида и те самые обрезки новостей, которые нам нужно объединить в одно целое, которое потом и будет нашим постом:
Теперь нам нужен модуль Regex. Что мы будем им делать объяснить сложно. Мы будем вытаскивать description и link каждого item‘а внедренной контентной ленты, потом мы все это дело объединим, ну и в конце мы заполним пустые подэлементы изначально созданного фида, т.е. сделаем из него полноценный RSS-поток, который можно будет использовать в качестве источника контента для сплога - мы просто скопируем заголовок, ссылку и дату публикации первого item’а контентнтой ленты. Ну и в самом конце мы подчистим следы в ссылках:
В виде RSS полученный нами результат будет выглядеть так:
Структура, внешний вид объединенных обрезков задается на уровне HTML, и он может быть каким захотите.
Исходник трубы для внутреннего мэшапа RSS-ленты
Результат выполнения трубы в виде RSS
значит ты всётаки добил эту тему)).. надо будет попробывать..))
кстати из своего собственного опыта.. из примерно 30 сплогов что я сделал.. трафик около 200 уников в сутки получил только 1.. причем стабильно держится уже с полгода.. все остальные от 1 до 20 уников в сутки.. почему именно тот получил трафик я так и не понял..(((…. в нём кстати не полные статьи и а просто рсс-ки ..правда их там штук 60 намешано.. а в остальных полные статьи но.. по 5-7 источников.. такие вот дела…
супер)
кстати примеры труб с Гугл ньюс интересно бы посмотреть, если можно
с Яндекс кажется позволяет следить по RSS только по своим категориям, а по своим запросам у меня не вышло получить с него корректную ррс ленту-результат
можно ещё к ссылкам на источники в дополнение к нофоллоу добавить ноиндекс для Яндекса
трубы пропускают только офигенно валидный HTML, тег ноиндекс придуман яндексом и трубы про его существование ничего не знают, поэтому удаляют его сразу же, а с нофоллоу ситуация обратная - трубы сами проставляют нофоллоу ко всем ссылкам и убрать нофоллоу нельзя. Так что WP плагины всем в помощь
если будет меньше 10 сообщений в ленте исходнике то труба сломается ?
эта труба сломается. будет вставляться код пустого объекта [ object ] столько раз, на сколько сообщений в ленте меньше 10. Нужно либо делать под конкретную ленту свою трубу, где будет известно количество сообщений в ленте, либо делать общую трубу для любой ленты, но в конце придется в regex удалить все пустые объекты