Опубликовано 04 июля 2013, 08:09

Сайт дня: Feed43 - RSS-поток для любой веб-страницы

Сегодня сайтом дня объявляется Feed43. Это один из самых хакерских сайтов, какие мне попадались. И он тоже имеет отношение к RSS (как и все сайты дня на этой неделе).

Обычному пользователю трудно сходу понять, как пользоваться сайтом Feed43, но зато результат позволит почувствовать себя крутым сетевым джедаем. Feed43 позволяет создать RSS-поток из любой веб-страницы. Вообще из любой. Может быть это страница сайта, разработанного полным чайником, не знающим об RSS? Может быть это страница социальной сети, хозяин которой боится отпускать своих ручных пользователей в сторонние RSS-читалки? Может быть это страница жадного автора, который не хочет отдавать свой контент без оплаты посещаемостью? Не важно, будь это даже страница с прогнозом погоды, Feed43 сможет сделать из неё RSS-поток, который можно будет нормально читать в одном из тех сервисов, про которые я писал на прошлой неделе. На Feed43 просто создаётся набор правил (так называемый "канал") для превращения страницы в RSS-поток.

Главная страница сайта Feed43

Главная страница сайта Feed43

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

Если прокачать настойчивость и убедительность до восьмидесятого левела, то можно просто позвонить, например, Цукербергу, и попросить сделать для страниц Facebook нормальные RSS-потоки. С меньшим левелом придётся лезть в исходный код и парсить из него данные:

Получение кода страницы на сайте Feed43

Получение кода страницы на сайте Feed43

Выглядит всё это пугающе, но поверьте моему опыту, сайт Feed43 - это ещё очень гуманное решение проблемы. Лет десять назад чтобы мониторить сайт, не имеющий RSS-потока, его приходилось регулярно открывать в браузере, что очень напрягало на фоне медленного и дорогого диалапа. Немного проще было парсить страницы скриптами на perl (или даже на bash+sed+awk), но для этого надо было во-первых, знать, что означают все эти странные наборы букв, а во-вторых, иметь недорогой, но стабильный хостинг. Лучом света в тёмном царстве стала программа WatzNew, которая вроде бы тоже парсила страницы скриптами, но язык этих скриптов был настолько простой, что его легко осваивали совершенно далёкие от техники люди. Но WatzNew работала не везде, а только в одной операционной системе, печально известной встроенной поддержкой вирусов.

Ну, а потом, разработчики WatzNew плюнули на свою программу и создали веб-сервис Feed43. С тем же самым простым языком шаблонов. Я уже говорил, что у нашей новостной ленты есть вполне приличный RSS-поток, но если бы его не было, на сайте Feed43 любой пользователь мог бы его сделать, просто следуя инструкцям:

Составление шаблона на сайте Feed43

Составление шаблона на сайте Feed43

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

Интересно, что пользователю сайта Feed43 не обязательно знать HTML, XML или что-то подобное. Достаточно просто уметь найти нужные данные среди всех этих странных значков. Про внутреннее устройство RSS тоже ничего знать не надо - достаточно заполнить форму, которая заметно проще, чем например, анкета для загранпаспорта:

Формирование RSS-потока на сайте Feed43

Формирование RSS-потока на сайте Feed43

Пара минут - и мы имеем адрес RSS-потока и адрес для его редактирования. Даже регистрироваться не придётся, если только вы не захотите закрыть канал паролем:

Результат работы сайта Feed43

Результат работы сайта Feed43

Адрес потока можно открыть в браузере, и получится хорошо свёрстанная новостная лента. Особая магия xml/xsl, проигнорированная большинством веб-разработчиков, но отлично работающая:

Просмотр канала, созданного на сайте Feed43

Просмотр канала, созданного на сайте Feed43

Само собой, можно этот же адрес передать в RSS-ридер:

Добавление канала, созданного на Feed43, в RSS-ридер Feedly

Добавление канала, созданного на Feed43, в RSS-ридер Feedly

Поначалу всё это кажется сложным, но тут главное в первый момент не сдаться. Через пару часов уже может захотеться изучить Perl.

Знаете ещё хорошие сайты? Пишите на sitesoftheday@ferra.ru.