Сказ про RSS

Идеология «разделяй и властвуй» действует повсюду. Чем сильнее мы разделяем единое целое, тем проще нам управлять им. И лишь известный принцип фон-неймановской архитектуры, лежащей в основе большинства современных компьютеров, все еще гласит, что не существует различий между данными и командами. А программисты давно пошли по пути «власти через разделение» и отделили не только данные от кода, но и код от кода. Функции, библиотеки — чем вам не средства разделения?
В web'е этот принцип используется все более и более широко. Сперва логические стили, потом css, скрипты, базы данных, целые движки сайтов… Так и получается — информация отдельно, оформление и управление — отдельно. Стало быть, власть.

К сожалению, власть над «чистой» информацией, расположенной в БД крупного интернет-ресурса, имеется лишь у его обладателей. Все прочие вынуждены ради получения новых материалов и новостей тянуть страницы целиком, со всем прилагающимся информационным мусором (в лучшем случае у пользователя установлено правильное ПО для «резки» банеров и всплывающих окон, но ведь html-тэги из документа никто не вырезает для снижения объема, верно?). Одним из путей, позволяющих решить данную проблему, является RSS.

Часть 1. Теория
RSS — это специальная интернет-технология, позволяющая осуществлять трансляцию материалов сайта в специальном формате — на языке XML. Хотя трансляция — не совсем верное слово. Понятия «репликация» (replication) или «обмен контентом» (exchange) также не вполне подходят, потому что аббревиатура RSS — это сокращение от Really Simple Syndication. Пы­таясь перевести на русский, получаем неуклюжее «Действительно Простая Синдикация». Или, если хотите, «Действительно Простое Синдицирование». В любом случае, суть уловить сложно, ибо таких, пардон, «словей», в русском просто нет. Рожденное на западе слово «Syndicate» помимо привычного «синдикат» означает также «агентство печати, приобретающее информацию, статьи и тому подобное и продающее их различным газетам для одновременной публикации», либо же действие по «приобретению информации и прочему». Так что примем на веру то, что Syndication — это приобретение информации. Применительно к RSS — это объединение разнообразного контента, находящегося на одном либо нескольких серверах, в одну логическую точку (например, ваш компьютер). В итоге вы получаете информацию с сайтов в чистом виде и не качаете никаких страниц с лишним мусором.
Но все это звучит слишком хорошо, что бы быть правдой! На деле RSS используется не для того, что бы перекачивать материалы сайта на машину пользователя (жаль, жаль!), а (чаще всего) для оперативного получения новостей, уведомлений о обновлениях сайта и тому подобного. Очень подходит всем, кто регулярно работает в Сети и не хочет «вручную» бегать по массе страниц (или блогов — сетевых дневников) в поисках новой информации. Конечно, существуют другие способы и программы для отслеживания изменения на сайтах, однако им приходится работать с готовыми страницами в формате HTML, обрабатывать их и извлекать крупицы полезной информации. RSS же проще и быстрее. Он создан именно для того, что бы быстро рассказать вам о том, что нового.
Работает все это следующим образом. На сайте (или блоге) создается специальный файл, содержащий транслируемые данные. Как только на этом ресурсе появляется новость или статья (тут уж все зависит от реализации), данный файл обновляется. Чтобы не перегружать файл информацией, в него обычно включается заголовок новости или записи блога, а зачастую и пара первых абзацев — для ясности. Так что практически любой материал, который можно разделить на отдельные логические части, можно публиковать с помощью RSS.
Формат «специального» файла — разновидность xml. Пользователю больше и не требуется, программистам же, планирующим работать с RSS, будет интересно узнать, что под данным термином скрывается около семи различных форматов! Базовую версию RSS 0.9 разработали в компании Netscape в качестве формата для создания порталов ведущих новостных компаний. Затем появилась более простая версия 0.91, которая отошла компании UserLand Software. Ветка 0.9х усилиями компании жила в версиях 0.92, 0.93 и 0.94, после чего появился RSS 2.0. Параллельно некоммерческой организацией был создан RSS 1.0 на базе принципов RSS 0.9. Как же быть, что использовать — читайте на www.webmascon.com или xml.com.
Затем на сайте где-нибудь в углу (чаще внизу страницы, рядом с копирайтами) вывешивается картинка вроде тех, что изображены на рисунке 1.

Вместо картинки может быть и обычная текстовая ссылка с сообщением вроде «мы поддерживаем RSS!». Понимающие люди, увидев такое, оценят. А оценив, смогут воспользоваться. Способов несколько — можно просто почитывать заголовки у себя дома с помощью специальных программ (об этом позже), а можно экспортировать заголовки в формате RSS на свою страницу (таким путем можно делать целые порталы — например, загляните на my.yandex.ru). Несколько строк на PHP, и ссылки на самые свежие новости висят на страничке, обновляясь безо всякого вашего участия. Получается схема, похожая на концепцию пиринговых сетей (P2P, peer to peer) — вольный экспорт заголовков откуда угодно куда угодно.
Теперь поговорим о более близком, «домашнем» использовании данной технологии. Все просто — скачиваете специальную программу-ридер (агрегатор) и указываете адреса файлов трансляции, то есть RSS-каналов (RSS feeds). Адреса эти часто указаны в виде ссылок на тех самых кнопочках (что на рис. 1). Если вы в Сети, программа тут же проверит каналы на предмет наличия новых заголовков и, если таковые имеются, скачает их. Более того, такие программы позволяют вести сетевые дневники (блоги) и даже делать комментарии к записям других людей. Программ-ридеров (или, как их еще называют, «персональных агрегаторов») существует достаточно много: Abilon, FeedReader, Syndirella, RSS Readers, WatzNew и другие. Также существует RSS-плагин для Миранды, а в браузерах Opera 7.4+ имеется встроенная поддержка RSS. Для линуксоидов существует RSS-агрегатор Liferea.

Часть 2. Практика
Что ж, теперь самое время опробовать новую технологию в действии. Для этого я использовал бесплатную, всеми рекомендуемую программу Abilon.

Abilon 2.5.3
Freeware
596 Кбайт
Все Windows
Русский интерфейс
www.activerefresh.com/abilon/

При первом запуске программы откры­вается рабочая среда, привычная любому, кто работает с электронной почтой или группами новостей. Если в том же «The Bat!» у вас имеется колонка с ящиками и папками, список писем и окно, в котором отображается содержимое письма, то здесь все то же самое: список каналов, содержимое заголовков выбранного канала и, наконец, окно с отображением текста, прилагающегося к данному заголовку. Если при установке программы вы согласитесь использовать любезно собранные автором группы RSS-каналов, то при первом запуске Abilon вы их увидите. Однако все они ведут на западные сайты, так что от предустановки можно отказаться. Чтобы побороть возникшую при этом чистоту списка каналов (в программе их почему-то называют «колонками» или «RSS-колонками»), придется найти какой-нибудь интересующий вас канал. Для этого можно сходить на любимый сайт и поискать нужную кнопку. Если нашли, щелкайте на ней правой и копируйте ссылку. А если ее (кнопки) нет — не страшно: можно зайти в раздел «о проекте», почитать FAQ (если таковой имеется), или даже спросить тамошнего вебмастера: «А у вас есть RSS?» Если не повезло, попробуйте сходить на уже упомянутый my.yandex.ru и поискать там интересные каналы, а то и просто воспользоваться Google или любым другим поисковиком. Еще вариант — посетить знатный каталог русских RSS-каналов по адресу www.kanban.ru. Итогом ­поисков, в любом случае, станет специальный адрес, который и надо «скормить» программе. Например, сайт Алекса Экслера предоставляет RSS-канал по адресу www.exler.ru/rss.xml. И это при том, что никаких кнопочек, как на рис. 1, на сайте нет и в помине! Будем использовать этот канал в качестве примера (рис. 2) — всё же веселее, чем читать чьи-то блоги или ленты новостей (уж там-то RSS не поддерживает только ленивый). Кроме того, в отличие от многих каналов (например, cyberfight.ru; кстати, попробуйте-ка найти адрес rss-канала у них!) у Экслера каждая новость помимо заголовка включает и хороший кусок текста, что приятно. Не хуже, чем канал www.kino-govno.com/news.rss.

Итак, вооружившись ссылкой, откры­ваем Abilon и создаем новую RSS-колонку (например, файл -> новая колонка -> rss-колонка). Вводим адрес (если он был в буфере обмена, то вставится сам), заголовок можно не задавать — пусть программа «вытянет» его из канала (главное, не снимать галочку). Все! Если вы в Сети, программа тут же пойдет обновлять заголовки, показывая их (стандартно) в виде запечатанных писем. Открываем любой заголовок и видим в окне просмотра название колонки и заголовка, дату постинга, некоторое информационное содержимое и ссылку на полный вариант текста (статьи, новости и так далее). Abilon содержит встроенный браузер на базе IE, даже с поддержкой вкладок. Но не рекомендую, ибо функции сохранения открытых страниц почему-то нет. Лучше использовать внешний браузер (см. настройки).

Вид информации в окне просмотра заголовков можно настраивать с помощью стилей. Помимо нескольких предложенных автором вариантов форматирования, можно написать свой. Для этого в папке abilon/style создайте свой xsl-файл. Это обычный файл на XML, и при некоторых познаниях в HTML сваять «по образцу» свой вариант можно без проблем. Помимо стилей, имеется режим «газета», при котором содержимое всех заголовков компилируется в единую страницу. Вид «газеты» настраивается в свойствах колонки («Шаблон вывода»).
Важная вещь — архивация заголовков. Дело в том, что rss-файл на сервере постоянно обновляется, и содержит только свежие заголовки. Следовательно, при каждом обновлении программа будет затирать старые заголовки. Если они вам нужны, можно поштучно скидывать их в колонку «памятки» (memories), либо настроить параметр «Архивирование», причем ДО того, как создадите колонки — иначе придется настраивать каждую отдельно. После этого новые заголовки будут добавляться к старым — как письма.
В остальном работа похожа на тот же Outlook — фильтры, интервалы обновления, пометки прочитанные/непрочитанные и так далее. Для тех, кто ведет блоги, имеет­ся «встроенное средство записи в блоги» — скромный симпатичный текстовый редактор с возможностью просмотра и публикации в блог. И еще — у Abilon есть платный собрат ActiveRefresh, отличающийся наличием разнообразных плагинов (FTP2RSS, MAIL2RSS и так далее). Вдруг кому и пригодится…
Подводим итоги. Жаль, что RSS не позволяет утянуть с сайта информацию целиком. Было бы здорово! С другой стороны, это действительно крайне удобный (при наличии хорошего софта) способ «мониторить» обновления любимых ресурсов без существенных затрат времени и средств. Если для вас это актуально — используйте на здоровье!

По материалам сайтов www.webmascon.com, artreal.exler.ru, spectator.ru.


Рекомендуем почитать: