Автор статьи: Михаил Брод
Как делаются RSS-рассылки[создаем feed для RSS-рассылки]
материал подготовил: Михаил Брод
23.06.2004 |
Тема нашего сегодняшнего разговора — как самому сделать RSS-рассылку. Для этого нам опять придется немного вернуться к теме формата RSS, а затем разобраться, как превратить ваши новости в информационный поток, доступный для подписчиков, где и как его разместить, как представить его на своем сайте… В общем, вопросов много. Поэтому начнем с самого первого — какой формат RSS выбрать для своей рассылки. Если вы читали наши статьи или знакомились с технологией RSS на других сайтах, то вы знаете, что сегодня существует семь подвидов стандарта — от RSS 0.90 до RSS 2.0. Прочитав значительное количество статей, посвященных этим разновидностям, могу сказать, что многие разработчики в большей степени склоняются к использованию стандарта RSS 2.0, как наиболее развитому. Самый полный сравнительный анализ версий можно увидеть в статье «Что такое RSS» (автор Mark Pilgrim), а стандарт RSS 2.0 опубликован на сайте Technology at Harvard Law. |
||||
| RSS-рассылка — это файл, созданный в формате RSS. именно этот файл «вбирают» в себя программы-агрегаторы, когда вы, подписавшись на рассылку, подключаетесь к новостному каналу. Тем, кто знаком с XML, понять формат рассылки (этот файл еще называют «фид» — feed) будет несложно. Фид «строится» из предопределенных строительных элементов — тегов, располагаемых в предопределенной последовательности. Разберем, какие теги используются в создании фида. Для примера возьмем фид проекта Softkey.info, который предлагает своим читателям подписку на новости и статьи.<?xml version=»1.0″ encoding=»windows-1251″?> <rss version=»2.0″ xmlns=»http://backend.userland.com/rss2″ xmlns:yandex=»http://news.yandex.ru»> Первые две строки — служебные. В одной описывается стандарт XML, во второй — стандарт RSS, используемые для создания фида. Кроме того, в описании версии RSS указаны источники пространства имен, применяемые в данном стандарте. больше в фиде никакой служебной информации нет — все остальное относится непосредственно к рассылке. В стандарте 2.0 вся рассылка обрамляется тегом <channel>, а сами новости вложены внутрь этого тега (в версии 1.0 новости не входят в состав тега <channel>). Вот как будет выглядеть начало фида по версии 2.0: <channel> В описании канала (рассылки) — три обязательных параметра:
Кроме обязательных, в состав описания могут входить и необязательные элементы. К ним относятся:
Есть еще ряд тегов, которые могут использоваться в описании заголовка канала, но они применяются довольно редко и поэтому о них лучше прочитать в описании стандарта. |
|
|||
Следующий блок канала — сами сообщения. Каждое сообщение обрамляется элементом item. Все остальные элементы, относящиеся к новости, содержатся внутри него. Элементов item в вашем фиде будет столько, сколько новостей вы будете в нем размещать. Все они, входящие в item, являются необязательными, тем не менее желательно, чтобы присутствовал хотя бы один элемент title или description. итак, какие элементы могут включаться в описание новости?Как уже отмечалось, в состав описания новости могут включаться элементы:
Есть еще ряд элементов, которые могут входить в описание, но сейчас мы на них останавливаться не будем. Теперь посмотрим, как все, что было описано выше, выглядит в реальном фиде (точнее, в его небольшой части). <?xml version=»1.0″ encoding=»windows-1251″?> <item> Как видите, ничего особенно сложного в это нет. Если вы делаете RSS-файл вручную, вам остается добавлять в него очередные новости, удаляя, по мере необходимости, старые. Добавлять новости лучше в начало файла — тогда это действительно будет похоже на ленту новостей, в которой свежие новости постепенно вытесняют старые. |
|
|||
Но новости, а тем более, новостные каналы, пишутся, в первую очередь, для посетителей (и почитателей) вашего проекта. Следовательно, нужно дать им возможность подписаться на ваши новости. Для этого на странице новостей (хотя можно и на другой — главное, чтобы они были заметными) нужно разместить специальные кнопки. Их придумано много, но чаще всего на сайтах, публикующих RSS-новости, размещают такую кнопку:
или такую:
Вторая кнопка предназначена для программ-агрегаторов. При нажатии на нее происходит подписка на ссылающуюся ленту новостей. При этом используется специально разработанный протокол — feed. Почему же для этого не используется обычный http-протокол? На это есть две причины — протокол http не может определять действия, а также не умеет запускать через ваш браузер программу-агрегатор для осуществления подписки. Этот протокол вызывается поверх иных сетевых протоколов — http, ftp и ссылок на локальные файлы. Примеры записи этого протокола: feed://http://example.org/rss.xml Если вы ведете несколько рассылок RSS-новостей или, помимо своей, предлагаете вашим посетителям возможность подписаться на еще какие-либо рассылки, то на кнопку подписки можно «навесить» дополнительное меню с перечнем доступных подписок. Для этого можно использовать свободно распространяемую программу quickSub. Но можно не ограничиться размещением кнопки или меню на своем сайте. Вы можете включить свою рассылку в список, формируемый некоторыми специальными проектами — службами синдикации. Одна из наиболее известных служб — NewsIsFree. Количество рассылок, включенных в базу данных, превышает шесть с половиной тысяч, в их числе есть и российские. Из российских проектов возможность подписаться не только на свои рассылки предлагает «Яндекс».
|
| Для работы с агрегаторами используется специальный протокол | ![]() |



