Литмир - Электронная Библиотека
Содержание  
A
A

Листинг 3.5. Та же новость на Яндексе

<item>

<title^ Ульяновской области серьезно взялись за пожарную безопасность территорий</title>

<link>http://news.yandex.ru/yandsearch?cl4url=mosaica.ru/news/society/8574

html&country=Russia</link>

<description^ частности, усовершенствована нормативно-правовая база по предупреждению чрезвычайных ситуаций, начата серьезная работа с муниципальными образованиями в плане. ^^Губернатор призвал глав районов принять меры по решению данных проблем и распорядился в первую очередь уделить серьезное внимание пожарной безопасности территорий и… <br></description>

<pubDate>Wed, 21 Feb 2007 14:47:28 +0300</pubDate>

<guid>http://news.yandex.ru/yandsearch?cl4url=mosaica.ru/news/society/8574

html&country=Russia</guid>

</item>

Как можно увидеть, новость одна и та же, но вот ее подача в разных лентах различается. Первое отличие в ссылке на новость. Если поставщик информации указывает на новость, опубликованную на своем сайте, то Яндекс по ссылке из своего RSS-фида приведет на свою страницу, где и опубликована полученная им новость. Заголовок новостей Яндексом оставлен без изменений, а вот анонс изменен полностью. Видимо, обработчики новостей посчитали, что исходный анонс не подходит, и сформировали новый на базе полного текста новости. Можно обратить внимание и на время публикации. Как ни странно, но на Яндексе новость оказалась опубликованной раньше, чем она была опубликована на сайте-первоисточнике. И пусть разница во времени небольшая, но она говорит о том, что RSS-поток источника сформирован и отдан потребителю раньше, чем был обработан и опубликован на собственном сайте.

Таким образом обрабатываются и формируются как новостные страницы, так и RSS-файлы, предназначенные для экспорта уже с Яндекса.

3.3.4. Экспорт новостей

Созданные из полученных новостей RSS-файлы выкладываются Яндексом для того, чтобы любой желающий мог экспортировать их либо в свою программу для чтения новостей в этом формате, либо для размещения в браузере, либо для размещения на своем сайте. Полный список RSS-файлов выложен на странице http://news.yandex.ru/export.html. Здесь присутствуют как тематические ленты (политика, спорт, наука), так и региональные. Каждая лента представлена отдельным файлом, например, RSS-файл с новостями об Интернете имеет такой адрес: http://news.yandex.ru/internet.rss.

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

Подготовленные Яндексом ленты можно экспортировать в браузер или на свой сайт, а можно использовать для просмотра с помощью специальных программ. Размещение новостей на сайте предназначено для тех, кто будет посещать сайт, а программы и браузер — для личного использования.

Экспорт на сайт

Если просто добавить на сайт адрес ленты, которую вы хотите показывать своим посетителям, то это значит не сделать ничего. Этот адрес так и останется в виде ссылки, но не в виде информации, которую он несет в себе. Чтобы показать информацию, ее нужно выделить из фида и разместить на странице сайта.

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

Как правило, программы для обработки поставляются в виде модулей, которые необходимо разместить на вашем сервере, а в код страницы добавить вызов модуля. Рассмотрим несколько таких программ.

Программа zFeeder

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

AgregatorRssPhp — еще одна бесплатная программа для обработки и вывода информации из RSS-фидов (рис. 3.14). Она добавляет на страницу сайта поле для ввода адреса RSS-фида. Для этого достаточно добавить в код вашей страницы всего несколько строк (листинг 3.6).

Яндекс для всех - i_079.png

Листинг 3.6. Пример добавления кода

<?

$text='<font color="#666666">Укажите адрес RSS-канала, который вы хотите прочитать.<br>

Пример: http://news.yandex.ru/index.rss </font>';// УКАЗЫВАЕТЕ НАДПИСЬ КОТОРАЯ БУДЕТ ОТОБРАЖАТЬСЯ ПОД ФОРМОЙ.

include ('../lib/agregatorrss.php'); // ПОДКЛЮЧАЕТЕ ФАЙЛ, ЧИТАЮЩИЙ RSS-КАНАЛ И ВЫВОДЯЩИЙ НА ЭКРАН.

?>

В результате работы этого кода на сайт будет выведена панель для записи адреса RSS-фида. Добавим, например, адрес рассылки по безопасности (http://news.yandex.ru/security.rss). После обработки под панелью будут выведены новости из этой рассылки.

Отличие этих программ, как вы заметили, в том, что в первом случае владелец сайта определяет, какие рассылки будут включены в обработку и отображены на его сайте, а во втором случае адрес рассылки посетитель может добавить по своему желанию.

Программу AgregatorRssPhp можно скачать со страницы http://www.newsrss.ru/ agregatorrssphp/index.php.

Информеры

Для удобства экспорта новостей на сайт, в первую очередь для тех, кто неважно разбирается в программах для обработки фидов, подготовлены специальные информеры. Это специально разработанные скрипты, готовые к размещению на странице сайта. Вам нужно лишь выбрать параметры отображения новостей, тематику и получить код (листинг 3.7). Код можно получить на странице http://news.yandex.ru/export.html.

Листинг 3.7. Информер для публикации новостей об Интернете

<style>span.yandex_date {font-size: 85 %; margin-right:0.5em;} div.yandex_informer {font-size: 85 %; margin-bottom: 0.3em;} div.yandex_title {font-size: 100 %; margin-bottom: 0.5em; }

div.yandex_title a { } div.yandex_allnews {font-size: 80 %; margin-top: 0.3em;} div.yandex_allnews {font-size: 80 %; margin-top:

0.3em;}div.yandex_annotation {font-size: 85 %; margin-bottom:

0.5em;}</style><script

src='http://news.yandex.ru/common.js'></script><script src='http://news.yandex.ru/internet3.js'></script><script> str='<div class=yandex_title><a

href=http://news.yandex.ru><b>Яндекс. Новости</b></a></div>'; if ((aObj=eval('m_internet')) && (aObj.length>0)){for (j=0;j<aObj.length;j++) {

str+='<div><span class=yandex_news_title><a href='+aObj[j].url+'>'+aObj[j].title+'</a></span></div><div class=yandex_annotation>'+aObj[j].descr+'</div>';}} str+='<div class=yandex_allnews><a href=http://news.yandex.ru>Bce новости на '+update_time+' мск >></a></div>'; document.write(str);</script>

49
{"b":"215355","o":1}