В отличие от некоторых, я не претендую на звание самого главного трубоведа. Однако, поскольку часто работаю с сервисом Yahoo.Pipes, осмелился поделиться некоторыми вещами, в том числе решением ряда проблем, с которыми может столкнуться начинающий «трубовед» (или «пайповод»). Ну, а главный посыл, что побудил меня написать данный пост — в первую очередь, самому не забыть об этих вещах, и если что, всегда иметь возможность свериться.
Как водится, небольшое отступление. Yahoo.Pipes — удивительный сервис, позволяющий вытворять с rss-фидами (rss-потоками) различные полезные и интересные вещи (строго говоря, не только с rss, но и xml-, csv- данными, интернет-страницами, другими интернет-сервисами и т. д. — главное, чтобы к ним можно было обратиться через веб). Можно объединять несколько rss-каналов в один, можно, наоборот, разделить, а потом снова смешать, отсортировать различными способами, что-то добавить, что-то убавить и т. д. и т. п.
Самое главное, что реализовано это через веб-интерфейс и в визуальном виде. Иными, словами, не надо ничего, по сути, программировать и самому выдумывать. все, что требуется, это знать, какие существуют модули, как с ними обращаться и что они могут (RTFM, естественно, никто не отменял), а также сильно помогут базовые знания регулярных выражений (опять-таки, если Вы хотите делать сложные «трубы», для простых, простите за тафталогию, — всё гораздо проще ). На выходе же получите rss-поток или файл в формате json, который также доступен удаленно и постоянно обновляется.
Плюсы сервиса очевидны — как я уже сказал, программировать ничего не надо, никакие скрипты у себя хостить не надо, о кэшировании и трафике тожно можно не беспокоиться — все это на себя берут Yahoo.Pipes
За последние 2 года своего существования сервис «возмужал», появились новые удобные «фичи», и, естественно, есть также и всевозможные баги, оишбки, которые бывают плохо задокументированны (потому не сразу находится решение), либо просто заставляют лезть на стенку («Делаю все, как в мануале, ан нет, глючит»). Возможно, это возникает от плохого прочтению мною документации, тем не менее, все равно поделюсь своими маленькими открытиями и советами. (Еще раз отмечу, что данная статья предназначена для более менее подготовленного читателя, который знаком с базовыми модулями Yahoo.Pipes).
Итак, для разминки, начнем с простого:
1. Часто требуется сослаться, например, в субэлементе description (описание) на другой субэлемент (например, link). Это происходит, когда Вы в субэлемент description хотите вставить HTML-текст (скажем, субэлемент link url картинки, а Вы хотите вставить ссылку на эту картинку и добавить небольшое к ней пояснение). Как правило, для этого используется модуль Regex, но возникает вопрос, как в строку, где мы пишет, что на что менять, вставить ссылку на другой субэлемент элемента item?
Для этого поступаем следующим образом: ставим знак $, затем фигурные скобки {}, а внутри них — название подэлемента без, обратите внимание item., т. е.
${link}, где link — название одного из существующих подэлементов элемента item.
Полная статья на моем блоге