Pull to refresh

Хабр RSS без ката при помощи Yahoo! Pipes

IT-companies
Так как футурико обозначила свои правила для ботов, я решил рассказать о небольшом, но удобном пайпе (Yahoo! Pipes), который сделал на днях.
Не знаю как вас, а меня жутко раздражает надпись «читать дальше->» в RSS. Я решил исправить эту проблему (возможно, я вызову праведный гнев футурико, но формально в правилах соответствующих запретов нет).

Берём RSS


Берём rss фид
Казалось бы, тут должен быть адрес www.habrahabr.ru/rss/main. Дело в том, что Y!P понимает RSS только в кодировке UTF8. Чтобы исправить это мы используем замечательный сервис xmliconv. Пользоваться им предельно просто: william.cswiz.org/tool/xmliconv/?ie=encoding&url=url. В данном случае мы берём RSS по адресу: william.cswiz.org/tool/xmliconv/?ie=cp1251&url=http://habrahabr.ru/rss/main.

Скачиваем странички


Скачиваем странички
Здесь мы имеем два блока: внешний — цикл по всем элементам, результат выполнения внутреннего присваивается item.description. Внутренний блок забирает страничку по адресу item.link, и оставляет только содержимое между <div class=«groups_topic_text»> и <div class=«posttags»>. Между указанными тегами как раз и находится основное содержание страницы. Поскольку Fetch page возвращает массив (при заполнении третьего элемента, возвращается более одного элемента), мы ставим assign first results, то есть item.description принимает значение первого элемента массива.

Переименовываем


Переименовывем
На самом деле, item.description пока что не строка. Строкой является item.description.content. То есть мы просто переименовываем item.description.content в item.description (description — это тот элемент, который отображается в RSS ридере).

Конец


pipe out
Подаем результат на выход.
Таким нехитрым способом можно обрабатывать RSS и статические странички получая довольно интересные результаты. Мой пайп вы можете найти тут, а вот и его RSS. Возможно, он работает не всегда. Если будут какие-то проблемы, дайте знать. Стабильность работы зависит от Yahoo, Вильяма (xmliconv) и доброй воли Футурико.
Tags:
Hubs:
Total votes 29: ↑27 and ↓2 +25
Views 1.9K
Comments Comments 30