<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SimpleCoding.org &#187; Yahoo Pipes</title>
	<atom:link href="http://www.simplecoding.org/category/yahoo-pipes/feed" rel="self" type="application/rss+xml" />
	<link>http://www.simplecoding.org</link>
	<description>Блог о программировании</description>
	<lastBuildDate>Fri, 27 Jan 2012 18:27:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Yahoo pipes: задаем параметры</title>
		<link>http://www.simplecoding.org/yahoo-pipes-zadaem-parametry.html</link>
		<comments>http://www.simplecoding.org/yahoo-pipes-zadaem-parametry.html#comments</comments>
		<pubDate>Mon, 14 Jul 2008 17:04:12 +0000</pubDate>
		<dc:creator>Владимир</dc:creator>
				<category><![CDATA[Web разработка]]></category>
		<category><![CDATA[Yahoo Pipes]]></category>

		<guid isPermaLink="false">http://www.simplecoding.org/yahoo-pipes-zadaem-parametry.html</guid>
		<description><![CDATA[Сегодня речь пойдет об еще одной возможности Yahoo pipes – создания RSS лент на основе заданных пользователем параметров. Т.е. после запуска трубы вместо результата вы увидите поле для ввода данных и кнопку Run pipe. После того, как введете значение и нажмете кнопку, увидите результат. Пример такого поля показан на рисунке. Теперь разберем, как создать такую [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.simplecoding.org/wp-content/uploads/2008/07/logo_yahoo_pipes.gif" alt="Логотип yahoo pipes" style="padding: 0pt 10px 10px 0pt; float: left" /></p>
<p>Сегодня речь пойдет об еще одной возможности <a href="http://pipes.yahoo.com">Yahoo pipes</a> – создания RSS лент на основе заданных пользователем параметров.</p>
<p>Т.е. после запуска трубы вместо результата вы увидите поле для ввода данных и кнопку <strong>Run pipe</strong>. После того, как введете значение и нажмете кнопку, увидите результат. Пример такого поля показан на рисунке.</p>
<p><img src="http://www.simplecoding.org/wp-content/uploads/2008/07/search.png" alt="Поиск с помощью Yahoo pipes" /></p>
<p>Теперь разберем, как создать такую трубу. Но, прежде всего, определимся с задачей. Первое, что мне пришло в голову – это поиск. Им и займемся. К тому же Yahoo pipes предоставляет <strong>готовый блок для работы с поисковыми системами</strong>.<br />
<span id="more-349"></span><br />
Чтобы задать текст для поиска мы используем блок <strong>Text input</strong> (меню <strong>User Inputs</strong>). Этот блок содержит несколько параметров, которые мы должны задать.</p>
<p><code>Name</code> – имя блока, я задал query.<br />
<code>Prompt</code> – текст, который будет отображаться перед полем для ввода данных. Напишите что-то вроде «Искать:».<br />
<code>Default</code> – текст, который будет отображаться в поле по-умолчанию. Можно оставить пустым.<br />
<code>Debug</code> – текст, который будет использоваться в процессе отладки. Пишем сюда любое слово.</p>
<p>Теперь добавляем на рабочее поле блок <strong>Yahoo! Search</strong> (меню <strong>Sources</strong>), и подключаем к нему <strong>Text input</strong>.</p>
<p>Обратите внимание, что подключить <strong>Text input</strong> мы должны к полю <code>Search for</code>. Точка подключения находится сразу после поля (скриншот внизу страницы).</p>
<p>Теперь <strong>добавляем парочку поисковиков</strong>. Я добавил Google и Wikipedia. И подключаем <strong>Pipe Output</strong>.</p>
<p>В результате получилась такая «труба».</p>
<p><img src="http://www.simplecoding.org/wp-content/uploads/2008/07/search_struct.png" alt="Труба для поиска с помощью Yahoo pipes" /></p>
<p>Нажимаем кнопки “Save”, “Run pipe…” и приступаем к поиску <img src='http://www.simplecoding.org/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  . Можно даже подписаться на ленту с его результатами (зачем это нужно – вопрос не ко мне).</p>
<p>До встречи!</p>
<p><strong>Спонсор статьи</strong>:<br />
Инлайн &#8211; <a href="http://www.inln.ru/" title="Разработка надежных сайтов">разработка надежного сайта</a><br />
С технологий ASP.NET мы разрабатываем для Вас надежные сайты любой сложности.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simplecoding.org/yahoo-pipes-zadaem-parametry.html/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Yahoo Pipes: собираем данные из нескольких источников</title>
		<link>http://www.simplecoding.org/yahoo-pipes-sobiraem-dannye-iz-neskolkix-istochnikov.html</link>
		<comments>http://www.simplecoding.org/yahoo-pipes-sobiraem-dannye-iz-neskolkix-istochnikov.html#comments</comments>
		<pubDate>Thu, 10 Jul 2008 06:42:44 +0000</pubDate>
		<dc:creator>Владимир</dc:creator>
				<category><![CDATA[Web разработка]]></category>
		<category><![CDATA[Yahoo Pipes]]></category>

		<guid isPermaLink="false">http://www.simplecoding.org/yahoo-pipes-sobiraem-dannye-iz-neskolkix-istochnikov.html</guid>
		<description><![CDATA[Это завершающий выпуск моего миницикла о Yahoo Pipes. Сегодня мы сделаем RSS ленту блога Тыманчи Ыргын действительно удобной для чтения . Для тех, кто не читал предыдущие разделы, привожу ссылки: 1) Yahoo pipes. Cоздаем RSS ленту интересного сайта 2) Yahoo pipes: усложняем задачу Как известно, лучшая RSS лента – это та, которая позволяет не заходить [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.simplecoding.org/wp-content/uploads/2008/07/logo_yahoo_pipes.gif" alt="Логотип yahoo pipes" style="padding: 0pt 10px 10px 0pt; float: left" /></p>
<p>Это завершающий выпуск моего миницикла о <a href="http://pipes.yahoo.com/">Yahoo Pipes</a>. Сегодня мы сделаем RSS ленту блога <a href="http://erum.ru/">Тыманчи Ыргын</a> <strong>действительно удобной для чтения</strong> <img src='http://www.simplecoding.org/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  .</p>
<p>Для тех, кто не читал предыдущие разделы, привожу ссылки:</p>
<p>1) <a href="http://www.simplecoding.org/yahoo-pipes-cozdaem-rss-lentu-interesnogo-sajta.html">Yahoo pipes. Cоздаем RSS ленту интересного сайта</a></p>
<p>2) <a href="http://www.simplecoding.org/yahoo-pipes-uslozhnyaem-zadachu.html">Yahoo pipes: усложняем задачу</a></p>
<p>Как известно, лучшая RSS лента – это та, которая позволяет не заходить на сайт. Попросту говоря, она должна содержать <strong>полный текст статьи</strong>.</p>
<p>Оба наших предыдущих примера создавали ленту на основе данных с главной страницы блога, которая содержит только аннотации статей. Полный текст находится <strong>на отдельных страницах</strong>.</p>
<p>Теперь подумаем, каким образом должна работать наша «труба» чтобы получить данные из этих страниц. Решений может быть много, но, наиболее простым мне кажется такой вариант.<br />
<span id="more-346"></span><br />
1) Получаем главную страницу.</p>
<p>2) Находим на ней все заголовки статей и ссылки на них.</p>
<p>3) Для каждой статьи формируем запись в RSS ленте.</p>
<p>4) Получаем страницу с полным текстом статьи (используя ссылки на главной).</p>
<p>5) Вырезаем из страницы нужный текст.</p>
<p>6) Добавляем текст статьи в RSS ленту.</p>
<p>7) Повторяем пункты 4-6 для каждой записи в ленте.</p>
<p>С принципом, работы разобрались, <strong>переходим к реализации</strong>.</p>
<p>Как выполнить первые три пункта я рассказывал в предыдущей части. Поэтому я только кратко повторю настройки блоков.</p>
<p><strong>Fetch Page</strong> – получаем главную страницу и разбиваем ее на записи.<br />
Split using delimeter <code>&lt;div class='date'&gt;</code></p>
<p><strong>Rename</strong> – формируем ленту<br />
<code>item.content</code> Copy As <code>link</code><br />
<code>item.content</code> Copy As <code>description</code><br />
<code>item.content</code> Rename <code>title</code></p>
<p><strong>Filter</strong> – удаляем первую запись из ленты, т.к. она содержит не статью, а заголовок блога.<br />
<code>Block</code> items that match <code>all</code> of the following<br />
<code>item.description</code> Contains <code>Tymanchi</code></p>
<p><strong>Truncate</strong> – ограничивает количество записей в ленте.<br />
Truncate feed after <code>8</code><br />
Этот блок я в прошлой части не использовал. Дело в том, что лента с полными текстами 10 статей оказалась больше 200КБ, и Yahoo pipes выдал ошибку. Поэтому я ограничил число записей восемью.</p>
<p><strong>Regex</strong> – заменяет данные в ленте на основе регулярных выражений. Мы его используем для вырезания <strong>заголовков</strong> и <strong>ссылок</strong> из текста.<br />
<code>item.title</code> replace <code>.*&lt;h1&gt;.*&gt;(.*)&lt;/a&gt;.*&lt;\/h1&gt;.*</code> with <code>$1</code><br />
<code>item.link</code> replace <code>.*href\s*=\s*"?(.*?)".*</code> with <code>$1</code></p>
<p>Теперь переходим к пунктам 4-7. Думаю, очевидно, что для решения задачи <strong>нужно использовать цикл</strong>. Поэтому перетягиваем на рабочее поле блок <strong>Loop</strong> (вкладка <strong>Operators</strong>).</p>
<p>Сам по себе этот блок работать не будет, нужно создать «тело цикла». Нам необходимо получить полный текст статей по ссылкам в записях. Поэтому перетаскиваем внутрь <strong>Loop</strong> блок <strong>Fetch Page</strong>.</p>
<p><em>Обратите внимание</em> на параметр URL этого блока. После размещения его внутри <strong>Loop</strong>, Yahoo pipes проанализирует, какие данные поступают на его вход, и создаст выпадающий список с доступными вариантами. Нам нужно выбрать <code>item.link</code>, т.е. ссылку на страницу с полным текстом статьи.</p>
<p>Теперь смотрим html разметку страницы и определяем, по каким тегам можно вырезать статью. У меня получилось так:<br />
Cut content from <code>&lt;/h1&gt;</code> to <code>&lt;div class='pager'&gt;</code></p>
<p>Заканчиваем настройку блока <strong>Loop</strong>. Присваиваем текст статьи параметру <code>description</code> ленты.<br />
assign <code>first</code> results to <code>item.description</code></p>
<p>После этого, с помощью блока Rename переименовываем параметр <code>item.description.content</code> в description и подключаем <strong>Pipe Output</strong></p>
<p>Готовая «труба» показана на рисунке.</p>
<p><a href="http://www.simplecoding.org/wp-content/uploads/2008/07/enum_ru_pipe_3.png" target="_blank" title="RSS лента блога Тыманчи Ыргын"><img src="http://www.simplecoding.org/wp-content/uploads/2008/07/enum_ru_pipe_3_thumb.png" alt="RSS лента блога Тыманчи Ыргын (миниатюра)" /></a></p>
<p>Нажимаем на кнопочки <strong>Save</strong> и <strong>Run pipe&#8230;</strong> и можем подписываться на готовую RSS ленту.</p>
<p><em>Заключение</em>. На этом я оставлю в покое блог <a href="http://erum.ru/">Тыманчи Ыргын</a>, но не Yahoo pipes <img src='http://www.simplecoding.org/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  . Сервис действительно интересный. Всем советую посмотреть примеры из их документации. Гарантированный способ убить пару часиков (или деньков) <img src='http://www.simplecoding.org/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>До встречи!</p>
<p><strong>Спонсор статьи</strong>:<br />
<a href="http://www.staffcop.ru/">Staffcop &#8211; система мониторинга работы персонала, контроля рабочего времени сотрудник и обеспечения информационной безопасности организации</a></p>
<p>P.S. По большому счету еще можно было бы еще добавить дату публикации статьи (параметр <code>pubDate</code> ленты)&#8230; Но, думаю, при желании вы и без меня справитесь <img src='http://www.simplecoding.org/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.simplecoding.org/yahoo-pipes-sobiraem-dannye-iz-neskolkix-istochnikov.html/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Yahoo pipes: усложняем задачу</title>
		<link>http://www.simplecoding.org/yahoo-pipes-uslozhnyaem-zadachu.html</link>
		<comments>http://www.simplecoding.org/yahoo-pipes-uslozhnyaem-zadachu.html#comments</comments>
		<pubDate>Wed, 09 Jul 2008 08:47:29 +0000</pubDate>
		<dc:creator>Владимир</dc:creator>
				<category><![CDATA[Web разработка]]></category>
		<category><![CDATA[Yahoo Pipes]]></category>

		<guid isPermaLink="false">http://www.simplecoding.org/yahoo-pipes-uslozhnyaem-zadachu.html</guid>
		<description><![CDATA[В прошлой статье я начал рассказывать о замечательном web приложении &#8211; Yahoo pipes. С его помощью нам удалось создать RSS ленту блога из контента его главной страницы (сам блог такой ленты не имеет). Но тот пример имеет один существенный недостаток. В RSS ленту попадает только самая последняя запись в блоге. Как вы думаете, что будет, [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.simplecoding.org/wp-content/uploads/2008/07/logo_yahoo_pipes.gif" alt="Логотип yahoo pipes" style="padding: 0pt 10px 10px 0pt; float: left" /></p>
<p>В <a href="http://www.simplecoding.org/yahoo-pipes-cozdaem-rss-lentu-interesnogo-sajta.html">прошлой статье</a> я начал рассказывать о замечательном web приложении &#8211; <strong>Yahoo pipes</strong>. С его помощью нам удалось создать RSS ленту блога из контента его главной страницы (сам блог такой ленты не имеет). Но тот пример имеет один существенный <strong>недостаток</strong>.</p>
<p>В RSS ленту попадает только самая последняя запись в блоге. Как вы думаете, что будет, если автор опубликует <strong>одновременно две записи</strong>? Правильно, предпоследнюю запись вы не увидите. Попробуем исправить эту ситуацию.</p>
<p>Прежде всего, посмотрим еще раз на главную страницу блога <a href="http://erum.ru/">Тыманчи Ыргын</a>. На ней размещено десять последних записей. Если мы добавим всех их в ленту, то можно считать, что задача решена. Редко кто публикует больше 10 записей в день.<br />
<span id="more-345"></span><br />
Теперь нам нужно найти какой-то <strong>признак</strong>, по которому можно разделить записи. Для этого смотрим на <strong>html разметку</strong> страницы. Несложно заметить, что каждая новая запись начинается с тега <code>&lt;div class='date'&gt;</code>, его мы и будем использовать в качестве разделителя.</p>
<p>Возвращаемся к нашей «трубе». Исходную страницу, как и в прошлый раз, мы получаем с помощью блока <strong>Fetch Page</strong>. Только сейчас мы устанавливаем параметр<br />
Split using delimiter &#8211; <strong>&lt;div class=&#039;date&#039;&gt;</strong></p>
<p>В результате мы получим 11 блоков с данными, причем первый блок будет содержать заголовок страницы, который нам не нужен. Чуть позже мы его отфильтруем.</p>
<p><em>Примечание</em>. Чтобы посмотреть результат работы блока в Yahoo Pipes, выберите его (он станет оранжевым) и <strong>откройте отладчик</strong> (находится под рабочим полем). Если вы вносили изменения в блок, нужно нажать на ссылку <strong>Refresh</strong>, чтобы обновить информацию.</p>
<p><strong>Формируем RSS ленту</strong>. Эта часть практически не отличается от прошлого примера. Мы используем блок <strong>Rename</strong> со следующими параметрами:<br />
<strong>item.content</strong> copy as <strong>link</strong><br />
<strong>item.content</strong> copy as <strong>description</strong><br />
<strong>item.content</strong> rename <strong>title</strong></p>
<p>Кстати, в параметре <code>description</code> содержится аннотация статьи.</p>
<p>Теперь <strong>убираем первую запись</strong> с заголовком страницы. Проще всего здесь использовать блок <strong>Filter</strong> (меню <strong>Operations</strong>). Задаем следующие параметры.</p>
<p><strong>Block</strong> all items that match <strong>all</strong> of the following<br />
<strong>item.description</strong> Contains <strong>Tymanchi</strong></p>
<p>Принцип работы простой. Отфильтровываются все записи, в тексте которых есть слово Tymanchi (оно встречается только в шапке страницы).</p>
<p>После этого с помощью блока <strong>Regexp</strong> вырезаем заголовок и ссылку из текста записи.</p>
<p><strong>item.title</strong> replace <strong>.*&lt;h1&gt;.*&gt;(.*)&lt;/a&gt;.*&lt;\/h1&gt;.*</strong> with <strong>$1</strong><br />
<strong>item.link</strong> replace <strong>.*href\s*=\s*&#034;?(.*?)&#034;.*</strong> with <strong>$1</strong></p>
<p>Если вы сравните эти регулярные выражения с разметкой страницы, то легко определите, какой текст они вырезают. Например, первое выражение вырежет текст ссылки, которая находится между тегами <code>&lt;h1&gt;</code> и <code>&lt;/h1&gt;</code>.</p>
<p>Нам осталось подключить блок <strong>Pipe Output</strong> и все. Труба готова.</p>
<p>Результат можно увидеть на скриншоте.</p>
<p><a href="http://www.simplecoding.org/wp-content/uploads/2008/07/enum_ru_pipe_2.png" target="_blank" title="Yahoo Pipes enum.ru_2"><img src="http://www.simplecoding.org/wp-content/uploads/2008/07/enum_ru_pipe_2_thumb.png" alt="Yahoo Pipes enum.ru_2 (миниатюра)" /></a></p>
<p><em>Заключение</em>. Если вы уже какое-то время используете Yahoo Pipes, то наверняка знаете, что большинство ошибок возникает из-за проблем в регулярных выражениях. К сожалению, простого способа их написания не существует. Нужно <strong>изучать синтаксис и как можно больше практиковаться</strong>. Если выражение сложное, попробуйте его использовать службу <a href="http://retester.simplecoding.org/">тестирования регулярных выражений</a>.</p>
<p>До встречи!</p>
<p><strong>Спонсор статьи:</strong><br />
<a href="http://www.epochta.ru/products/mailer/">ePochta Mailer &#8211; лучшая в России программа для электронной рассылки<br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simplecoding.org/yahoo-pipes-uslozhnyaem-zadachu.html/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Yahoo pipes. Cоздаем RSS ленту интересного сайта</title>
		<link>http://www.simplecoding.org/yahoo-pipes-cozdaem-rss-lentu-interesnogo-sajta.html</link>
		<comments>http://www.simplecoding.org/yahoo-pipes-cozdaem-rss-lentu-interesnogo-sajta.html#comments</comments>
		<pubDate>Tue, 08 Jul 2008 06:33:48 +0000</pubDate>
		<dc:creator>Владимир</dc:creator>
				<category><![CDATA[Web разработка]]></category>
		<category><![CDATA[Yahoo Pipes]]></category>

		<guid isPermaLink="false">http://www.simplecoding.org/yahoo-pipes-cozdaem-rss-lentu-interesnogo-sajta.html</guid>
		<description><![CDATA[Давно собирался написать об этом сервисе . Кратко описать его возможности можно тремя пунктами: 1) получает данные по заданному адресу; 2) обрабатывает их; 3) преобразует результат в нужный формат (например, RSS ленту). Но за этими пунктами скрываются огромные возможности! Примечание. Их конкретный размер, естественно, зависит от ваших навыков в использовании сервиса И вот тут и [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.simplecoding.org/wp-content/uploads/2008/07/logo_yahoo_pipes.gif" alt="Логотип yahoo pipes" style="padding: 0px 10px 10px 0px; float: left" /><br />
Давно собирался написать об этом сервисе <img src='http://www.simplecoding.org/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  .</p>
<p>Кратко описать <strong>его возможности</strong> можно тремя пунктами:<br />
1) получает данные по заданному адресу;<br />
2) обрабатывает их;<br />
3) преобразует результат в нужный формат (например, RSS ленту).</p>
<p>Но за этими пунктами скрываются <strong>огромные возможности</strong>!</p>
<p><em>Примечание</em>. Их конкретный размер, естественно, зависит от ваших навыков в использовании сервиса <img src='http://www.simplecoding.org/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>И вот тут и кроется <strong>настоящее преимущество <a href="http://pipes.yahoo.com/">Yahoo pipes</a></strong>. Он позволяет решить задачи, для которых обычно приходится писать специальную программу или скрипт.</p>
<p>Повторять документацию я не буду, а просто покажу конкретный пример.<br />
<span id="more-339"></span><br />
Постоянные читатели, этого блога, наверное, в курсе, что я часто использую PHP фрэймворк <a href="http://codeigniter.com/">CodeIgniter</a>. И, естественно, я стараюсь отслеживать информацию о нем.</p>
<p>Но, к сожалению, не все блоги имеют RSS ленты, а без них быть в курсе обновлений нескольких десятков ресурсов просто не реально. Например, блог <a href="http://erum.ru/">Тыманчи Ыргын</a>. Автор опубликовал довольно подробное руководство по созданию блога с помощью CodeIgniter (из 7 частей), а <strong>RSS ленты – нет</strong>.</p>
<p>Попробуем решить эту проблему с помощью Yahoo pipes.</p>
<p>Прежде всего, проанализируем структуру блога. Все записи выводятся на главной странице в хронологическом порядке.</p>
<p>Допустим, мы просто хотим получать <strong>заголовок самой первой записи</strong> на странице. Чтобы его «вырезать» необходимо определить html разметку. Обычно, я для этих целей использую <a href="http://www.getfirebug.com/">Firebug</a> (плагин FireFox), но можно просто открыть страницу в режиме просмотра html.</p>
<p>Как и следовало ожидать, нужная нам информация находится между тегами <code>&lt;h1&gt;</code> и <code>&lt;/h1&gt;</code>.</p>
<p>Теперь идем на <a href="http://pipes.yahoo.com/">Yahoo pipes</a>, регистрируемся в системе (можно использовать существующий аккаунт Yahoo) и жмем кнопку «<strong>Create a pipe</strong>».</p>
<p>После этого, вы увидите окно конструктора «труб» (&#034;pipe&#034; на английском означает &#034;труба&#034;, &#034;трубопровод&#034;). В его правой части находится <strong>меню выбора блоков</strong>. Открываем вкладку «<strong>Sources</strong>» (обычно она открыта по-умолчанию) и перетягиваем блок «<strong>Fetch page</strong>» на <strong>рабочее поле</strong> (центральную часть окна).</p>
<p>Этот блок позволяет получить html страницу по ее адресу (URL). Кроме того, он позволяет вырезать часть из нее с помощью параметров «<strong>Cut content from</strong>» «<strong>to</strong>». Если эти значения не задавать, то в RSS ленту будет добавлена вся страница.</p>
<p>Мы установим такие значения параметров:<br />
URL &#8211; <strong>http://erum.ru/</strong><br />
Cut content from &#8211; <strong>&lt;h1&gt;</strong><br />
to &#8211; <strong>&lt;/h1&gt;</strong>.</p>
<p>Теперь наш блок будет работать следующим образом:<br />
1) получит страницу;<br />
2) найдет теги <code>&lt;h1&gt;</code> и <code>&lt;/h1&gt;</code>;<br />
3) вырежет текст, который находится между этими тегами.</p>
<p>Теперь нам нужно сформировать RSS ленту. Для этого нужно создать два поля (как минимум): <strong>title</strong> и <strong>link</strong>.</p>
<p>Для этого добавляем на рабочее поле блок Rename (находится в группе Operators). А в нем два параметра:</p>
<p><strong>item.content</strong> copy as <strong>link</strong><br />
<strong>item.content</strong> rename <strong>title</strong></p>
<p>И соединяем вход этого блока с выходом <strong>Fetch Page</strong>.</p>
<p>На данный момент на выходе блока <strong>Rename</strong> есть два параметра, которые <strong>полностью повторяют</strong> данные, полученные со страницы. Чтобы лента отображалась правильно, нам нужно вырезать ссылку и заголовок статьи из исходного текста.</p>
<p>Для этого добавляем блок <strong>Regex</strong>. Он позволяет преобразовывать данные с помощью регулярных выражений.</p>
<p>Создаем в нем два правила:</p>
<p>In <strong>item.title</strong> replace <strong>.*&gt;(.*)&lt;/a&gt;.*</strong> with <strong>$1</strong><br />
In <strong>item.link</strong> replace <strong>.*href\s*=\s*&#034;?(.*?)&#034;.*</strong> with <strong>$1</strong></p>
<p>Первое правило вырезает из текста заголовок статьи и присваивает его полю title. Второе – вырезает ссылку и присваивает ее полю link.</p>
<p>Теперь нам осталось соединить выход блока <strong>Regex</strong> с входом <strong>Pipe Output</strong>. Как несложно догадаться из названия последний блок формирует выходные данные (RSS ленту).</p>
<p>В общем, у вас должно получиться что-то похожее на этот рисунок.</p>
<p><a href="http://www.simplecoding.org/wp-content/uploads/2008/07/enum_ru_pipe.png" title="Yahoo pipe для enum.ru" target="_blank"><img src="http://www.simplecoding.org/wp-content/uploads/2008/07/enum_ru_pipe_thumb.png" alt="Yahoo pipe для enum.ru (миниатюра)" /></a></p>
<p>Сохраняем трубу «<strong>Save</strong>» и смотрим результат – «<strong>Run pipe&#8230;</strong>».</p>
<p>В открывшемся окне вы увидите результат работы вашей «трубы», а также ссылку на RSS ленту (<strong>More options</strong> -&gt; <strong>Get as RSS</strong>).</p>
<p>Как видите работать с Yahoo pipes несложно. Конечно, этот пример элементарный и далеко не законченный, но даже в таком виде мы уже решили задачу.</p>
<p>В следующих выпусках я продолжу рассказывать об этом сервисе.</p>
<p>До встречи!</p>
<p><strong>Спонсор статьи</strong>:<br />
<a href="http://www.epochta.ru/">Программное обеспечение для создания собственных безопасных e-mail рассылок</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simplecoding.org/yahoo-pipes-cozdaem-rss-lentu-interesnogo-sajta.html/feed</wfw:commentRss>
		<slash:comments>130</slash:comments>
		</item>
	</channel>
</rss>

