Шрифт:
Как можно увидеть, новость одна и та же, но вот ее подача в разных лентах различается. Первое отличие в ссылке на новость. Если поставщик информации указывает на новость, опубликованную на своем сайте, то Яндекс по ссылке из своего RSS-фида приведет на свою страницу, где и опубликована полученная им новость. Заголовок новостей Яндексом оставлен без изменений, а вот анонс изменен полностью. Видимо, обработчики новостей посчитали, что исходный анонс не подходит, и сформировали новый на базе полного текста новости. Можно обратить внимание и на время публикации. Как ни странно, но на Яндексе новость оказалась опубликованной раньше, чем она была опубликована на сайте-первоисточнике. И пусть разница во времени небольшая, но она говорит о том, что RSS-поток источника сформирован и отдан потребителю раньше, чем был обработан и опубликован на собственном сайте.
Таким образом обрабатываются и формируются как новостные страницы, так и RSS-файлы, предназначенные для экспорта уже с Яндекса.
3.3.4. Экспорт новостей
Созданные из полученных новостей RSS-файлы выкладываются Яндексом для того, чтобы любой желающий мог экспортировать их либо в свою программу для чтения новостей в этом формате, либо для размещения в браузере, либо для размещения на своем сайте. Полный список RSS-файлов выложен на странице http://news.yandex.ru/export.html. Здесь присутствуют как тематические ленты (политика, спорт, наука), так и региональные. Каждая лента представлена отдельным файлом, например, RSS-файл с новостями об Интернете имеет такой адрес: http://news.yandex.ru/internet.rss.
Все ленты — сборные, составлены из новостей, полученных из различных источников. В том числе и региональные — в этих лентах размещают новости вне зависимости от того, кто их опубликовал. Главное, чтобы новости были связаны с определенным регионом.
Подготовленные Яндексом ленты можно экспортировать в браузер или на свой сайт, а можно использовать для просмотра с помощью специальных программ. Размещение новостей на сайте предназначено для тех, кто будет посещать сайт, а программы и браузер — для личного использования.
Если просто добавить на сайт адрес ленты, которую вы хотите показывать своим посетителям, то это значит не сделать ничего. Этот адрес так и останется в виде ссылки, но не в виде информации, которую он несет в себе. Чтобы показать информацию, ее нужно выделить из фида и разместить на странице сайта.
Ничего сложного в этом нет, необходимо лишь, получив очередной файл с новостями, обработать его и создать на его основе новую страницу либо занести полученные новости в базу данных, на основе которой страница формируется в динамическом режиме. Возможны два варианта решения — написать процедуру обработки самостоятельно либо воспользоваться уже имеющимися программами.
Как правило, программы для обработки поставляются в виде модулей, которые необходимо разместить на вашем сервере, а в код страницы добавить вызов модуля. Рассмотрим несколько таких программ.
zFeeder — это PHP-скрипт, используемый для отображения RSS-контента. Он может использоваться для отображения контента на вашем сайте, в вашей интранет-сети или на десктопе. Программа поддерживает все версии RSS (0.9, 0.9х, 1.0 и 2.0). С помощью программы можно выводить WML-файлы на WAP-сайтах (для мобильных устройств).
Для использования программы необходимо, чтобы ваш хостер обеспечивал поддержку PHP (версии не ниже 4.2.0) и библиотеку Expat (входящую в установку PHP по умолчанию). Программа может работать под разными операционными системами — Linux, Windows и другими, — поддерживающими PHP.
Программа устанавливается на сайте, доступ к настройкам осуществляется с помощью браузера. С помощью панели администратора вы сможете добавить новые каналы, изменить или удалить уже подключенные, импортировать список каналов из файла описания каналов (opml), изменить настройки, управляющие выводом и сохранением данных.
Обновление новостей может выполняться как на стороне сервера (с использованием программ типа cron), так и на стороне клиента, когда инициатором обновления является браузер. Для формирования внешнего представления новостей в состав программы включен ряд шаблонов. Но если вам нужно что-то иное, вы можете либо отредактировать шаблоны по вашему вкусу, либо создать собственные.
Программу можно взять на сайте ttp://zvonnews.sourceforge.net/zfeeder.php.
AgregatorRssPhp — еще одна бесплатная программа для обработки и вывода информации из RSS-фидов (рис. 3.14). Она добавляет на страницу сайта поле для ввода адреса RSS-фида. Для этого достаточно добавить в код вашей страницы всего несколько строк (листинг 3.6).
Листинг 3.6. Пример добавления кода
<?
$text='<font color="#666666">Укажите адрес RSS-канала, который вы хотите прочитать.<br>
Пример:</font>';// УКАЗЫВАЕТЕ НАДПИСЬ КОТОРАЯ БУДЕТ ОТОБРАЖАТЬСЯ ПОД ФОРМОЙ.
include ('../lib/agregatorrss.php'); // ПОДКЛЮЧАЕТЕ ФАЙЛ, ЧИТАЮЩИЙ RSS-КАНАЛ И ВЫВОДЯЩИЙ НА ЭКРАН.
?>