Yahoo pipes. Cоздаем RSS ленту интересного сайта

Владимир | | Web разработка, Yahoo Pipes.

Логотип yahoo pipes
Давно собирался написать об этом сервисе 🙂 .

Кратко описать его возможности можно тремя пунктами:
1) получает данные по заданному адресу;
2) обрабатывает их;
3) преобразует результат в нужный формат (например, RSS ленту).

Но за этими пунктами скрываются огромные возможности!

Примечание. Их конкретный размер, естественно, зависит от ваших навыков в использовании сервиса 🙂

И вот тут и кроется настоящее преимущество Yahoo pipes. Он позволяет решить задачи, для которых обычно приходится писать специальную программу или скрипт.

Повторять документацию я не буду, а просто покажу конкретный пример.

Постоянные читатели, этого блога, наверное, в курсе, что я часто использую PHP фрэймворк CodeIgniter. И, естественно, я стараюсь отслеживать информацию о нем.

Но, к сожалению, не все блоги имеют RSS ленты, а без них быть в курсе обновлений нескольких десятков ресурсов просто не реально. Например, блог Тыманчи Ыргын. Автор опубликовал довольно подробное руководство по созданию блога с помощью CodeIgniter (из 7 частей), а RSS ленты – нет.

Попробуем решить эту проблему с помощью Yahoo pipes.

Прежде всего, проанализируем структуру блога. Все записи выводятся на главной странице в хронологическом порядке.

Допустим, мы просто хотим получать заголовок самой первой записи на странице. Чтобы его «вырезать» необходимо определить html разметку. Обычно, я для этих целей использую Firebug (плагин FireFox), но можно просто открыть страницу в режиме просмотра html.

Как и следовало ожидать, нужная нам информация находится между тегами <h1> и </h1>.

Теперь идем на Yahoo pipes, регистрируемся в системе (можно использовать существующий аккаунт Yahoo) и жмем кнопку «Create a pipe».

После этого, вы увидите окно конструктора «труб» («pipe» на английском означает «труба», «трубопровод»). В его правой части находится меню выбора блоков. Открываем вкладку «Sources» (обычно она открыта по-умолчанию) и перетягиваем блок «Fetch page» на рабочее поле (центральную часть окна).

Этот блок позволяет получить html страницу по ее адресу (URL). Кроме того, он позволяет вырезать часть из нее с помощью параметров «Cut content from» «to». Если эти значения не задавать, то в RSS ленту будет добавлена вся страница.

Мы установим такие значения параметров:
URL — http://erum.ru/
Cut content from — <h1>
to — </h1>.

Теперь наш блок будет работать следующим образом:
1) получит страницу;
2) найдет теги <h1> и </h1>;
3) вырежет текст, который находится между этими тегами.

Теперь нам нужно сформировать RSS ленту. Для этого нужно создать два поля (как минимум): title и link.

Для этого добавляем на рабочее поле блок Rename (находится в группе Operators). А в нем два параметра:

item.content copy as link
item.content rename title

И соединяем вход этого блока с выходом Fetch Page.

На данный момент на выходе блока Rename есть два параметра, которые полностью повторяют данные, полученные со страницы. Чтобы лента отображалась правильно, нам нужно вырезать ссылку и заголовок статьи из исходного текста.

Для этого добавляем блок Regex. Он позволяет преобразовывать данные с помощью регулярных выражений.

Создаем в нем два правила:

In item.title replace .*>(.*)</a>.* with $1
In item.link replace .*href\s*=\s*»?(.*?)».* with $1

Первое правило вырезает из текста заголовок статьи и присваивает его полю title. Второе – вырезает ссылку и присваивает ее полю link.

Теперь нам осталось соединить выход блока Regex с входом Pipe Output. Как несложно догадаться из названия последний блок формирует выходные данные (RSS ленту).

В общем, у вас должно получиться что-то похожее на этот рисунок.

Yahoo pipe для enum.ru (миниатюра)

Сохраняем трубу «Save» и смотрим результат – «Run pipe…».

В открывшемся окне вы увидите результат работы вашей «трубы», а также ссылку на RSS ленту (More options -> Get as RSS).

Как видите работать с Yahoo pipes несложно. Конечно, этот пример элементарный и далеко не законченный, но даже в таком виде мы уже решили задачу.

В следующих выпусках я продолжу рассказывать об этом сервисе.

До встречи!

Спонсор статьи:
Программное обеспечение для создания собственных безопасных e-mail рассылок

  • Алекса

    Очень хороший пост. Добавила Ваш блог в закладки. Есть много ценных и полезных мыслей, которые я применю на деле. Но понадобится еще время, чтобы осмыслить информацию. Даже сейчас, когда после прочтения текста Вашего поста, в тот момент, когда пишу комментарий, я думаю, о тех вещах, смысл которых мне теперь совсем по другому видится. Эх, что за день сегодня – полезный день.

    • Присоединяюсь очень полезная инфа,но только можно тбылобы и обновить ее , версиия пайпс уже выше и дополнений больше.

      • Я сейчас практически не использую Yahoo! Pipes. PHP + cURL — гораздо более гибкое решение.

  • Алекса

    Очень хороший пост. Добавила Ваш блог в закладки. Есть много ценных и полезных мыслей, которые я применю на деле. Но понадобится еще время, чтобы осмыслить информацию. Даже сейчас, когда после прочтения текста Вашего поста, в тот момент, когда пишу комментарий, я думаю, о тех вещах, смысл которых мне теперь совсем по другому видится. Эх, что за день сегодня – полезный день.

  • Мде.. Предыдущий комментатор вверг меня в шок своей выдумкой на бредоспам =)

    Яху пайпс хорошо для блогоферм всяких юзать, т.е. тем кто сплогами занимается

    • Предыдущий комментатор — спамер. Совсем недавно у кого-то читал что были такие же комментарии. Судя по всему, этот текст проходит через фильтры и даже при ручной модерации не всегда понятно, что это спам.

      • От йо, а я то надеялся, что дискус надежный то….
        а по теме, автору зачет, смотрю пайпы щас развиваются, так что мануалы в теме

  • Мде.. Предыдущий комментатор вверг меня в шок своей выдумкой на бредоспам =)

    Яху пайпс хорошо для блогоферм всяких юзать, т.е. тем кто сплогами занимается

    • Предыдущий комментатор — спамер. Совсем недавно у кого-то читал что были такие же комментарии. Судя по всему, этот текст проходит через фильтры и даже при ручной модерации не всегда понятно, что это спам.

  • Хм… никогда не пробовал. Нужно протестить…

  • Хм… никогда не пробовал. Нужно протестить…

  • Вот сначало был вопрос о Pipes, но дойдя до комментов я его забыл и теперь мне интересно что же написал «предыдущий комментатор» 🙂

    • Не проблема 🙂
      Комментарий вернул, без ссылки конечно.

      • Лол ))
        Коммент жжет.

        А касательно поста — спасибо. Кстати, как feedburner такой фид принимает, нормально?

        • Честно говоря, не пробовал.
          В любом случае у них довольно подробные сообщения об ошибках 🙂

        • Как известно, у сайтов на uCoz нет общего фида. Есть только отдельные фиды на каждый модуль. Задача стояла такая — организовать емейл-рассылку сайта при помощи Feedburner. Однако, для этого нужен один общий фид. Решил проблему с помощью Yahoo pipes, склеив фиды сайта в один общий (Fetch Feed во вкладке Sources). Его и скормил Feedburner, правда тот поругался несколько раз, но в итоге (через пару часов ослиного упрямства) слопал такой фид и теперь на моем сайте эта подписка реализована. Если любопытно, ссылка на моем имени.

          Я не понял точно, что именно Feedburner не нравилось в моем фиде, но фид нормально читался любыми ридерами, в том числе и Google Reader — я специально проверил. Похоже, что фид просто получился монстрообразен и огромен по содержанию. Feedburner явно не рассчитан на такие размеры и ему потребовалось время, чтобы пропинговать этот фид полностью. Кстати, пинговал его вручную, в Feedburner есть ссылка для этой функции.

          Так что, по поводу «нормальности» делайте выводы сами. Худо-бедно — да, принимает. Смотря какой фид получается на выходе.

          Просьба к автору. Не могу сделать фид к своему статичному сайту, на html (mydns.pp.ua). Там всего две странички. Хочу «толкнуть» его через пингатор (ping.xby.ru), но для этого нужон фид. Не подскажите ли, как его создать при помощи Yahoo pipes? Заранее благодарю.

        • Попробуйте так.
          1) Два блока fetch page для каждой из страниц
          2) С помощью union объединить данные
          3) И с помощью Regex вырезать из результата нужные куски.

  • Вот сначало был вопрос о Pipes, но дойдя до комментов я его забыл и теперь мне интересно что же написал «предыдущий комментатор» 🙂

    • Не проблема 🙂
      Комментарий вернул, без ссылки конечно.

      • Лол ))
        Коммент жжет.

        А касательно поста — спасибо. Кстати, как feedburner такой фид принимает, нормально?

        • Честно говоря, не пробовал.
          В любом случае у них довольно подробные сообщения об ошибках 🙂

        • Как известно, у сайтов на uCoz нет общего фида. Есть только отдельные фиды на каждый модуль. Задача стояла такая — организовать емейл-рассылку сайта при помощи Feedburner. Однако, для этого нужен один общий фид. Решил проблему с помощью Yahoo pipes, склеив фиды сайта в один общий (Fetch Feed во вкладке Sources). Его и скормил Feedburner, правда тот поругался несколько раз, но в итоге (через пару часов ослиного упрямства) слопал такой фид и теперь на моем сайте эта подписка реализована. Если любопытно, ссылка на моем имени.

          Я не понял точно, что именно Feedburner не нравилось в моем фиде, но фид нормально читался любыми ридерами, в том числе и Google Reader — я специально проверил. Похоже, что фид просто получился монстрообразен и огромен по содержанию. Feedburner явно не рассчитан на такие размеры и ему потребовалось время, чтобы пропинговать этот фид полностью. Кстати, пинговал его вручную, в Feedburner есть ссылка для этой функции.

          Так что, по поводу «нормальности» делайте выводы сами. Худо-бедно — да, принимает. Смотря какой фид получается на выходе.

          Просьба к автору. Не могу сделать фид к своему статичному сайту, на html (mydns.pp.ua). Там всего две странички. Хочу «толкнуть» его через пингатор (ping.xby.ru), но для этого нужон фид. Не подскажите ли, как его создать при помощи Yahoo pipes? Заранее благодарю.

        • Попробуйте так.
          1) Два блока fetch page для каждой из страниц
          2) С помощью union объединить данные
          3) И с помощью Regex вырезать из результата нужные куски.

  • MAQ

    Спасибо большое. Много слышал про этот сервис, но никак не знал как подступиться. Теперь есть повод 🙂 Буду ждать продолжения.

  • MAQ

    Спасибо большое. Много слышал про этот сервис, но никак не знал как подступиться. Теперь есть повод 🙂 Буду ждать продолжения.

  • Ништяк а искал где толково то написано о настройке этих труб…

  • Ништяк а искал где толково то написано о настройке этих труб…

  • Pingback: Remmrit Bookmarking()

  • Нужно ли «огород городить», когда есть такие службы как http://www.revisor.com.ua/. Таких служб много. Есть русскоязычные и другие.

    • Возможности Yahoo pipes не ограничиваются уведомлениями об изменениях на сайте. Я просто пример такой привел. Посмотрите другие статьи из этого раздела, думаю вопрос исчезнет 😉

  • Нужно ли «огород городить», когда есть такие службы как http://www.revisor.com.ua/. Таких служб много. Есть русскоязычные и другие.

    • Возможности Yahoo pipes не ограничиваются уведомлениями об изменениях на сайте. Я просто пример такой привел. Посмотрите другие статьи из этого раздела, думаю вопрос исчезнет 😉

  • Вот вы привели в примере:

    In item.title replace .*>(.*).* with $1
    In item.link replace .*hrefs*=s*»?(.*?)».* with $1

    А что это за конструкция? Что за язык?
    Просто читаю пример и для меня это пока что калиберда…
    Проясните пожалуйста.

    • Это параметры настройки блока.
      Посмотрите последний скриншот блок Regex. Жирным я выделил параметры, которые нужно ввести в текстовые поля. Значения некоторых полей можно выбрать из выпадающего списка, некоторые (например, регулярные выражения) нужно вводить самому.

      Вообще-то лучше всего поэкспериментировать с сервисом. Многие вещи сразу станут понятнее.

  • Вот вы привели в примере:

    In item.title replace .*>(.*).* with $1
    In item.link replace .*href\s*=\s*»?(.*?)».* with $1

    А что это за конструкция? Что за язык?
    Просто читаю пример и для меня это пока что калиберда…
    Проясните пожалуйста.

    • Это параметры настройки блока.
      Посмотрите последний скриншот блок Regex. Жирным я выделил параметры, которые нужно ввести в текстовые поля. Значения некоторых полей можно выбрать из выпадающего списка, некоторые (например, регулярные выражения) нужно вводить самому.

      Вообще-то лучше всего поэкспериментировать с сервисом. Многие вещи сразу станут понятнее.

  • Наверно я не совсем точно выразился.
    Я имею ввиду, как вы «подобрали» эти выражения?
    Стоит ли копать в сторону Перла и его регулярный выражений?

    • Да, стоит 😉
      Перл учить не обязательно, а вот регулярные выражения нужны. Без них ничего кроме простейших операций выполнить не получится.

  • Наверно я не совсем точно выразился.
    Я имею ввиду, как вы «подобрали» эти выражения?
    Стоит ли копать в сторону Перла и его регулярный выражений?

    • Да, стоит 😉
      Перл учить не обязательно, а вот регулярные выражения нужны. Без них ничего кроме простейших операций выполнить не получится.

  • Ну, пробежав по нескольким книгам по диагонали, увидел, что перл может парсить страницы 🙂
    А это много стоит 🙂

    • Чтобы парсить страницы не обязательно использовать perl. Например, есть такая программка cURL с которой можно работать из разных языков (я как-то приводил пример для PHP). Она позволяет имитировать работу браузера и возвращает страницу в виде обычной текстовой строки.
      После этого можно парсить страницу как угодно.

  • Ну, пробежав по нескольким книгам по диагонали, увидел, что перл может парсить страницы 🙂
    А это много стоит 🙂

    • Чтобы парсить страницы не обязательно использовать perl. Например, есть такая программка cURL с которой можно работать из разных языков (я как-то приводил пример для PHP). Она позволяет имитировать работу браузера и возвращает страницу в виде обычной текстовой строки.
      После этого можно парсить страницу как угодно.

  • IMHO, curl немного не то. но прислушаюсь к вашему мнению.

    • В PHP есть функция fopen, которая позволяет получить web страницу.

      Код будет выглядеть примерно так
      $handle = @fopen(«http://www.sitename.com», «rt»);
      $source_code = fread($handle,9000);

      Но curl удобнее и мощнее, особенно если вам нужно обрабатывать редиректы, cookies, отправлять заголовки, т.е. имитировать поведение браузера.

  • IMHO, curl немного не то. но прислушаюсь к вашему мнению.

    • В PHP есть функция fopen, которая позволяет получить web страницу.

      Код будет выглядеть примерно так
      $handle = @fopen(«http://www.sitename.com», «rt»);
      $source_code = fread($handle,9000);

      Но curl удобнее и мощнее, особенно если вам нужно обрабатывать редиректы, cookies, отправлять заголовки, т.е. имитировать поведение браузера.

  • Добрый вечер!

    Очень интересная ссылка,сидел целый вечер, но почему то у меня не получилось. Посмотрите пожалуйста. Может мой сайт не подходит.

    С уважением Сергей.

    • Здравствуйте!
      А о каком сайте речь?

  • Добрый вечер!

    Очень интересная ссылка,сидел целый вечер, но почему то у меня не получилось. Посмотрите пожалуйста. Может мой сайт не подходит.

    С уважением Сергей.

    • Здравствуйте!
      А о каком сайте речь?

  • Добрый день.

    Извините не написал вот ссылка на сайт:http://sergeikobinskij.ucoz.com/

    Я плохо разбираюсь в этих вопросах, но хотел бы на сайте создать свою ленту новостей. Подскажите это реально. На форум писал там толком не объяснили.
    Если это сложно то и не нужно. Я не обижусь. Спасибо Вам… Вчера долго изучал и пробовал но что то пишет ошибку…
    Извините что отрываю у Вас время…

    Сергей.

    • По-моему RSS у вас нормально работает

      http://sergeikobinskij.ucoz.com/blog/rss

      🙂

      Правда работает только для блога. На главной странице есть иконка в адресной строке браузера, но когда я попытался ее открыть, получил сообщение «У вас нет прав для просмотра этого ресурса». Скорее всего дело в настройках, но с uCoz'ом я не работал, поэтому точно не знаю.

    • Кстати есть скринкаст о подключении FeedBurner к uCoz, может в нём будет что-то интересное.

  • Добрый день.

    Извините не написал вот ссылка на сайт:http://sergeikobinskij.ucoz.com/

    Я плохо разбираюсь в этих вопросах, но хотел бы на сайте создать свою ленту новостей. Подскажите это реально. На форум писал там толком не объяснили.
    Если это сложно то и не нужно. Я не обижусь. Спасибо Вам… Вчера долго изучал и пробовал но что то пишет ошибку…
    Извините что отрываю у Вас время…

    Сергей.

    • По-моему RSS у вас нормально работает

      http://sergeikobinskij.ucoz.com/blog/rss

      🙂

      Правда работает только для блога. На главной странице есть иконка в адресной строке браузера, но когда я попытался ее открыть, получил сообщение «У вас нет прав для просмотра этого ресурса». Скорее всего дело в настройках, но с uCoz'ом я не работал, поэтому точно не знаю.

    • Кстати есть скринкаст о подключении FeedBurner к uCoz, может в нём будет что-то интересное.

  • Спасибо Вам…
    Сейчас посмотрю. А мне Яндекс пишет,что ленты нет…Спасибо

    • Яндекс пишет, что ленты нет скорее всего потому, что не может найти её на главной. Попробуйте вручную указать адрес ленты.

  • Спасибо Вам…
    Сейчас посмотрю. А мне Яндекс пишет,что ленты нет…Спасибо

    • Яндекс пишет, что ленты нет скорее всего потому, что не может найти её на главной. Попробуйте вручную указать адрес ленты.

  • Спасибо…
    поставил на главной-Яндекс нашел-спасибо…

  • Спасибо…
    поставил на главной-Яндекс нашел-спасибо…

  • Добрый день.
    Владимир подскажите где можно найти материалы для чайников по смене шаблонов адаптированных под uCoz, хочу поменять не получается, на форуме все продвинутые, там я ничего не понимаю..

    Спасибо.
    С уважением Сергей.

    • Я не работал с uCoz, поэтому к сожалению посоветовать ничего конкретного не могу.
      Исходя из собственного опыта могу посоветовать почитать книги по html, css. Это, конечно, очень долго, но дает 100% результат и не только для тем uCoz 😉
      Если нужно срочно, то вариантов 2: искать готовые примеры и переделывать под свой сайт или искать человека, который может помочь.

  • Добрый день.
    Владимир подскажите где можно найти материалы для чайников по смене шаблонов адаптированных под uCoz, хочу поменять не получается, на форуме все продвинутые, там я ничего не понимаю..

    Спасибо.
    С уважением Сергей.

    • Я не работал с uCoz, поэтому к сожалению посоветовать ничего конкретного не могу.
      Исходя из собственного опыта могу посоветовать почитать книги по html, css. Это, конечно, очень долго, но дает 100% результат и не только для тем uCoz 😉
      Если нужно срочно, то вариантов 2: искать готовые примеры и переделывать под свой сайт или искать человека, который может помочь.

  • Добрый вечер Владимир.
    Обращаюсь к Вам как к специалисту. У меня был сайт:http:www.globus-ks.ru платный хостинг на WEB-13. На один год. Я от туда ушел. Димен и доменное имя за мной остались или нет и могу ли я припарковать свой сайт с uCoz или опять нужно платить и продолжать….

    Спасибо.

    • Когда вы уходили год закончился или нет? Обычно домен оплачивается на год и после этого его нужно продлевать, т.е. платить за следующий год.
      На данный момент этот домен зарегистрирован на AGAVA Software Ltd. Если это ваш регистратор вам нужно связаться с тех поддержкой и запросить перенос домена. Тут возникает вопрос куда переносить? Вариантов два: либо использовать бесплатные DNS, либо платные. (Если тут возникли вопросы посмотрите статью «Как самостоятельно и бесплатно зарегистрировать домен. Типичные ошибки.«, возможно на некоторые я уже отвечал.)
      Насчет парковки к uCoz я не знаю, т.к. с этим сервисом не работал. Вполне возможно, что они предоставляют эту услугу.

  • Добрый вечер Владимир.
    Обращаюсь к Вам как к специалисту. У меня был сайт:http:www.globus-ks.ru платный хостинг на WEB-13. На один год. Я от туда ушел. Димен и доменное имя за мной остались или нет и могу ли я припарковать свой сайт с uCoz или опять нужно платить и продолжать….

    Спасибо.

    • Когда вы уходили год закончился или нет? Обычно домен оплачивается на год и после этого его нужно продлевать, т.е. платить за следующий год.
      На данный момент этот домен зарегистрирован на AGAVA Software Ltd. Если это ваш регистратор вам нужно связаться с тех поддержкой и запросить перенос домена. Тут возникает вопрос куда переносить? Вариантов два: либо использовать бесплатные DNS, либо платные. (Если тут возникли вопросы посмотрите статью «Как самостоятельно и бесплатно зарегистрировать домен. Типичные ошибки.«, возможно на некоторые я уже отвечал.)
      Насчет парковки к uCoz я не знаю, т.к. с этим сервисом не работал. Вполне возможно, что они предоставляют эту услугу.

  • Спасибо.
    Да это мой домен-год кончился и нужно было продлить..Спасибо…

  • Спасибо.
    Да это мой домен-год кончился и нужно было продлить..Спасибо…

  • Fizmatik

    спасибо за урок, все получилось, но вот вопрос такой
    в статьях много не нужных мне ссылок можно ли каким то образом их убрать?
    пробовал через фильтр, но он убирает не только тег но и содержимое тега

    • Нужно использовать блока Regex. С помощью регулярного выражения вы сможете выбрать все теги, главное правильно его составить.

      Должно подойти что-то вроде
      <a.*?>

  • Fizmatik

    спасибо за урок, все получилось, но вот вопрос такой
    в статьях много не нужных мне ссылок можно ли каким то образом их убрать?
    пробовал через фильтр, но он убирает не только тег но и содержимое тега

    • Нужно использовать блока Regex. С помощью регулярного выражения вы сможете выбрать все теги, главное правильно его составить.

      Должно подойти что-то вроде
      <a.*?>

  • fizmatik

    а если так? |

  • fizmatik

    а если так? |

  • fizmatik

    | так

    • На регулярное выражение не похоже 😉

  • fizmatik

    | так

    • На регулярное выражение не похоже 😉

  • Fizmatik

    |

    код не выделялся и не вставлялся

    но так картинки вырезаются

  • Fizmatik

    |

    код не выделялся и не вставлялся

    но так картинки вырезаются

  • Fizmatik

    почему то не могу вставить пример кода

    попробую без кода |

    вот так я сделал но вырезаются также картинки

  • Fizmatik

    почему то не могу вставить пример кода

    попробую без кода |

    вот так я сделал но вырезаются также картинки

  • Fizmatik
  • Fizmatik
  • WP автоматически убирает все теги, кроме разрешенных, и спецсимволы.

    Если нужно оставить картинки — исключите из РВ тег img

  • WP автоматически убирает все теги, кроме разрешенных, и спецсимволы.

    Если нужно оставить картинки — исключите из РВ тег img

  • Если нужно оставить картинки — исключите из РВ тег img

    по подробнее расскажите а то я чего то не понял откуда икслючить тег

    • PB — регулярное выражение.
      Т.е. вместо <a.*?> использовать <(a|img).*?> (я имел ввиду «включите в РВ», sorry 🙂 )

  • Если нужно оставить картинки — исключите из РВ тег img

    по подробнее расскажите а то я чего то не понял откуда икслючить тег

    • PB — регулярное выражение.
      Т.е. вместо <a.*?> использовать <(a|img).*?> (я имел ввиду «включите в РВ», sorry 🙂 )

  • Павел

    Советую потестировать сервис feed43.com
    Настраивать проще и всё по-русски.

    • Ого! Очень кстати, большое спасибо! Обязательно протестирую! 🙂

    • Действительно интересно! Спасибо!

  • Павел

    Советую потестировать сервис feed43.com
    Настраивать проще и всё по-русски.

    • Ого! Очень кстати, большое спасибо! Обязательно протестирую! 🙂

    • Действительно интересно! Спасибо!

  • жпец

    как с помощью regex в титл оставить первые два слова а остальные удалить?

    • РВ будет выглядеть примерно так.
      /^s*w*sw*/

    • Только начинаю работать с Пайпами, вопрос
      сможет ли он выдерать из сайта отдельные абзацы?
      например, на странице 100 абзацев, + к каждому из них идет картинка.
      А мне нужно из этих 100 абзацев всего лишь 5, в которых есть ключевое слово..

      И еще, логинится на сайты он может?

      • Насколько я знаю, логинится на сайты он не может. В этом случае вам нужен curl.
        Вырезать абзацы не сложно. Вы можете вырезать любой кусок для которого сможете написать регулярное выражение (также как я вырезал содержимое ссылки).

        • А есть какой манула по curl? или может напишите про него отдельный пост, интересно было бы

        • По cURL статей не много, а очень много 😉
          У меня тоже есть несколько штук.

  • жпец

    как с помощью regex в титл оставить первые два слова а остальные удалить?

    • РВ будет выглядеть примерно так.
      /^\s*\w*\s\w*/

  • Что-то у меня не выходит. Вот сайт http://rsoc.ru/news/rsoc/. Заголовки статей находятся между <a class=»news» и . То есть Cut content from <a class=»news» from . Однако на этом этапе я уже получаю ошибку:
    This Pipe ran successfully but encountered some problems:
    warning Could not found '<a rel=»nofollow» class=»news»

  • Если откроете доступ к трубе я смогу посмотреть и, может быть, что-то посоветовать 😉

  • Вам нужно смотреть контент страницы не только инструментами вроде firebug, но и в обычном html режиме.
    В данном случае страница не содержит текста <a class=»news». В оригинале слово news без кавычек, т.е. <a class=news. Кавычки доставляет firebug.

    P.S. Я сделал копию трубы с моим экспериментом.

  • Сжальтесь надо мной!!! Уже четвертые сутки пытаюсь разобраться как вставить в трубу в поле description (в текст) строчку («Читать далее» для WordPress). Как это сделать? Труба упорно режет эту строчку из-за символа «!».

    • Дайте, пожалуйста, ссылку на вашу трубу.

      • Да, конечно.http://pipes.yahoo.com/pipes/pipe.info?_id=32afcb788740ae6010b23827c345d6b6Суть в том, чтобы считать опр. кол. символов, например 200, и ставить строку more, как в вордпресс -«». Ваш блог режет символы, которые идут вместе с «more», но я думаю Вы поняли о чем речь…

        • Похоже, это один из тех случаев, когда Yahoo pipes оказывается не
          самым эффективным инструментом. На любом языке программирования задача
          быстро решается, но здесь подходящего блока я не нашел.

          Возможно плохо искал 🙂

        • Хм, жаль, я думала это не будет сложным… Владимир, скажите, Вы же наверняка знакомы с вордпрессом и с достаточно известным плагином FeedWordPress — как в нем можно реализовать вставку во входящий текст из рсс потока нужный тег?

        • С WordPress я знаком, с плагином FeedWordPress. Хотя как-то раз переделывал на заказ wp-o-matic. Насколько я понимаю, принцип работы у них похожий.

          Реализовать вставку несложно, потребуется правка кода плагина. Главное, чтобы вы четко представляли какие теги в какой текст вставлять.

        • Представление есть. Необходимо считать кол. символов (абзацев), например, 300-400 и после них вставлять строчку Read more. Только не так, как это делают плагины Evermore или WP Limit Posts Automatically (обрезают текст только при отображении), вставлять строку ReadMore именно в код поста, после опр. кол. символов (абзацев).

        • Т.е. вы хотите чтобы ссылка ReadMore сохранилась в базе?
          В середине текста? Если честно, я плохо понимаю зачем это нужно.
          Но в любом случае, можно сделать так.
          1) Берете за основу например код Evermore.
          2) Там установлен фильтр
          add_filter('the_posts', 'tguy_em_addmoreall');
          который выполняет вставку ссылки.
          3) Вы можете использовать хук save_post. Например, так
          add_action('save_post', 'tguy_em_addmoreall', $post->ID, $post);
          4) Если нужно оставить остальной текст, придется изменить функцию tguy_em_addmoreall.

          P.S. Приведенный здесь код я не тестировал, могут быть ошибки.

        • О, нет нет, программирование — это не для меня 🙂 А нужно это для того, чтобы дальше кросспостить записи в ЖЖ. Т.е. берем фид, читаем из него запись, сразу же обрезаем (readmore, если длинна поста больше 300, например, символов), а LJXP (плагин для кросспостинга в ЖЖ) отсылает уже отредактированную строчкой readmore запись в ЖЖ. Вот, примерно, так…

        • Если программирование не для вас, то тогда либо готовое решение, либо заказ 🙂
          К тому же, обрезать пост не так просто как кажется на первый взгляд. Нужно, как минимум, закрыть все теги.

          Вы написали, что используете LJXP, т.е. кросспостинг идет через WP. И вы в блоге (WP) публикуете эти записи. Поищите плагин для автоматической обрезки постов (мне кажется я видел такие).

        • К сожалению, все плагины, что я видела (возможно плохо искала) обрезают «на лету», т.е. без записи в БД. Но я нашла другое решение (подошла с другой стороны) — я изменила код самого вордпресса в тех местах, которые отвечают за Readmore, таким образом можно подставить любые символы, которые будут заменены на «Читать далее…». Проблема решена.

        • Вы же вроде писали, что «программирование не для Вас» 🙂

        • Да какое там программирование — просто найти все файлы с нужным кодом и сделать замену… 😉

  • Delks

    Владимир здраствуйте. Подскажите пожалуйста, как с помощью regex или filter делать ссылки в description неактивными.

    • Вы имеете ввиду мета-тег description?
      В нем обычно нет ссылок.

  • Ставлю сюда Трубу Яху http://fds-sales.ru , но никак не получается сделать так , чтоб новости были без лишнего мусора вставляются как есть.