Жертва Taobao

Не ходите туда… ибо обратного пути уже нет…

Снова о Yahoo Pipes: как сделать счетчик символов и фильтровать статьи по длине?

26th Июль 2008. Рубрики: , , , . 7 коммент..

Продолжаем мучать любимую тему… в комментариях к предыдущим постам один из комментаторов задал вопрос: «Как сделать счетчик символов заграбленой статьи в ? как сделать чтобы статьи менее 1000 символов не грабились и не вставлялись в выходную -ленту (собственно из-за чего и нужен был счетчик)?»

А на самом деле всё очень и очень просто: для этого воспользуемся модулем Filter, который позволяет задать несколько правил для фильтрации и очень гибко её настроить… возможна фильтрация например по признаку наличия в содержимом предмета фильтрации какого-либо выражения или его отсутствия. Но в контексте заданного вопроса важно что при фильтрации в качестве правила можно задать регулярное выражение (да-да! я знаю вы их очень любите :-) ).

Ниже привожу пример фильтра:

Что делает этот фильтр? Он делает следующее: пропускает дальше в ленту только элементы ленты item.description которых описывается регулярным выражение «.{275,}«, где «.» — это любой символ, а то что находится в фигурных скобках {} — это квантификатор, который определяет сколько раз выражение (в данном случае «. » — любой символ) может встречаться.

Квантификатор задается следующим образом:

{m,n}
общее выражение, повторений может быть
от m до n включительно
{m,}
общее выражение,
m и более повторений
{,n}
общее выражение,
не более n повторений
?
Знак вопроса означает
0 или 1 раз (то же самое, что и {0,1})
*
Звёздочка означает
0, 1 или любое число раз (то же самое, что и {0,})
+
Плюс означает
хотя бы 1 раз (то же самое, что и {1,}).

Таким образом, в показанном на рисунке примере фильтр пропускает в ленту только элементы в описании которых 275 и более символов.

Аналогично можно сделать что-нибудь подобное……..

Мой блог находят по следующим фразам:

префикс таблицы вы не имеете достаточно прав для доступа к данной странице. wordpress
ВИДЕОПЛЕЕРЫ с ТВ тюнером
pipes fetch page utf8
сpanel установить wp вручную
как работать с Yahoo Pipes
как работать с Yahoo Pipes

7 коммент.

Peter  | 27th Июль 2008

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

Makc_Rudy  | 26th Февраль 2009

Привет!
Просьба подсказать, как можно обрезать статью в ленте после N знаков, и совсем шикарно — после N знаков найти точку (или !,?) и обрезать/вставить код после них.
Заранее спасибо

Р_Джинс  | 1st Март 2009

Нет ничего проще :-)
Вот так

Денис  | 20th Февраль 2010

А как отправить те линки, в которых дескрипшен после обработки пустой на повторную обработку, чтоб гарантированно извлечь содержимое? Мне важно получить все новости с сайта 43region.com, а в части из них pipe выдает пустое содержимое (ошибка 404). C описанным фильтром легко отсортировать полные ленты, а я хочу отсортировать пустые и снова запустить их по циклу, но видимо что-то не то делаю.

Р_Джинс  | 24th Февраль 2010

Pipes не всегда хорошо обрабатывает большие объемы…
Поэтому я предварительно до pipes обрабатываю всё своим парсером чтобы убрать всё лишнее со страниц с которых идет граббинг и давать pipes только нужное.

Чехия авто  | 7th Октябрь 2010

привет. во первых ссылочку надо поправить на http://delirium.vrjj.ru/wp-content/uploads/2009/03/n.png
второе — какую роль выполняет точка (2 по счету символ). и предпоследняя точка
спасибо

Р_Джинс  | 7th Октябрь 2010

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

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