Яндекс для всех - М. Абрамзон
Шрифт:
Интервал:
Закладка:
□ skipHours и skipDays предназначены для агрегаторов. В этих тегах указывается, в какое время и какие дни "появление" агрегаторов нежелательно.
Есть еще ряд тегов, которые могут использоваться в описании заголовка канала, но они применяются довольно редко, и поэтому о них лучше прочитать в описании стандарта.
Следующий блок канала — сами сообщения. Каждое сообщение обрамляется элементом item. Р’СЃРµ остальные элементы, относящиеся Рє новости, содержатся внутри него. Рлементов item РІ вашем фиде будет столько, сколько новостей РІС‹ будете РІ нем размещать. Р’СЃРµ элементы, входящие РІ item, являются необязательными, тем РЅРµ менее, желательно, чтобы присутствовал хотя Р±С‹ РѕРґРёРЅ элемент title или description. Ртак, какие элементы РјРѕРіСѓС‚ включаться РІ описание новости?
Как только что говорилось, в состав описания новости могут включаться элементы:
□ title — заголовок записи;
□ link — ссылка на запись;
□ Description — аннотация либо полная публикация;
□ category — описывает категорию, к которой можно отнести новость;
□ pubDate — дата публикации документа. Может содержать будущую дату, по отношению к текущей. В этом случае агрегаторы должны такую новость пропускать.
Есть еще ряд элементов, которые могут входить в описание новости, но на них мы останавливаться не будем. Зато посмотрим, как все, что было описано ранее, выглядит в реальном фиде, точнее, его небольшой части (листинг 3.3).
Листинг 3.3. Пример RSS-фида Яндекс. Новостей_|
<?xml version="1.0" encoding="windows-1251"?>
<rss xmlns: yandex="http://news.yandex.ru" version="2.0">
<channel>
<title>Яндекс. Новости: Рнтернет</title>
<link>http://news.yandex.ru/Russia/internet.html</link>
<description>Первая РІ Р РѕСЃСЃРёРё служба автоматической обработки Рё систематизации новостей. Сообщения ведущих СЂРѕСЃСЃРёР№СЃРєРёС… Рё мировых РЎРњР. Обновление РІ режиме реального времени 24 часа РІ сутки.</description>
<image>
<url>http://company.yandex.ru/i/50x23.gif</url>
<link>http://news.yandex.ru</link>
<title>Яндекс. Новости</title>
</image>
<lastBuildDate>Tue, 20 Feb 2007 23:25:00 +0300</lastBuildDate>
<item>
<title>Компенсация за порно — $5 млн</title>
<link>http://news.yandex.ru/yandsearch?cl4url=bybanner.com/article/4181.ht
ml&country=Russia</link>
<description>Рменно столько требует РІ СЃСѓРґРµ РѕС‚ компании IBM бывший сотрудник, уволенный РІ 2003 РіРѕРґСѓ Р·Р° посещение порночатов.<br>58-летний Джеймс Пьяченца (James Pacenza) РёР· РіРѕСЂРѕРґР° Монтгомери утверждает, что увлечение РїРѕСЂРЅРѕ помогало ему справиться СЃ тяжелым стрессом, вызванным гибелью РЅР° его глазах… <br></description>
<pubDate>Tue, 20 Feb 2007 17:30:17 +0300</pubDate>
<guid>http://news.yandex.ru/yandsearch?cl4url=bybanner.com/article/4181.ht
ml&country=Russia</guid>
</item>
</channel>
</rss>
Как видите, ничего особенно сложного в этом нет. Если вы делаете RSS-файл вручную, вам остается добавлять в него очередные новости, удаляя, по мере необходимости, старые. Добавлять новости лучше в начало файла, тогда это действительно будет похоже на ленту новостей, в которой свежие новости постепенно вытесняют старые.
Но новости, а тем более — новостные каналы, пишутся в первую очередь для посетителей (и почитателей) вашего проекта. Следовательно, нужно дать им возможность подписаться на ваши новости, для чего на странице новостей (хотя можно и на другой — главное, чтобы было заметно) нужно разместить специальные кнопки, но могут быть и прямые ссылки на фиды. При этом в качестве протокола чаще всего используется специально разработанный протокол — FEED.
Почему не используется обычный HTTP-протокол? На это есть две причины: протокол HTTP не может определять действия, а также не умеет запускать через ваш браузер программу-агрегатор для осуществления подписки. Поэтому протокол FEDD вызывается поверх иных сетевых протоколов — HTTP, FTP и ссылок на локальные файлы.
Примеры записи протокола FEED:
feed://http://example.org/rss.xml
feed: http://example.org/rss.xml
feed: example.org/rss.xml
feed://ftp://user: [email protected]/path/index.xml
feed://file://\servershareindex.xml
Но можно не ограничиться размещением кнопки или меню на своем сайте. Вы можете включить свою рассылку в список, формируемый некоторыми специальными проектами — службами синдикации. Одной из таких наиболее известных в России служб является проект Яндекс. Лента.
3.3.3. Яндекс. Лента как RSS-синдикатор
Новости, которые публикуются РЅР° Яндексе, поставляются сайтами РІ RSS-формате. Можно пройти РЅР° сайт любого информационного партнера Яндекса Рё найти РЅР° нем RSS-ленту, которую РѕРЅ предлагает для экспорта. Например, издание "Главные новости Ульяновска" (http://mosaica.ru) предлагает СЃРІРѕСЋ ленту РЅР° странице http://www.mosaica.ru/feed/. Рта лента экспортируется Рё Яндексом, Рё новости, публикуемые РІ ней, попадают РІ общую ленту Яндекс. Новостей. Аналогичным образом поступают Рё РґСЂСѓРіРёРµ поставщики новостей.
Полученные новости "достаются" из RSS-файла, сортируются по различным тематическим разделам, добавляются в разделы региональные, и каждая становится частью нового фида соответствующей тематики. Для удобства сортировки поставщики информации указывают в описании новостей раздел, наиболее близкий по тематике какому-либо разделу Яндекс. Новостей.