Введение в RSS технологию.

Введение

Приводятся краткие сведения о RSS технологии представления информации в Интернете.
RSS feed – широко используемая форма агрегирования данных. Подробно рассматривается технология создания RSS feed версии 2.0. Приводятся примеры размещения RSS на вебсайте.





Определение  RSS и немного истории.

RSS (Really Simple Syndication) – это формат для предоставления данных. При определении этого формата используется XML версии 1.0. Информация поставляемая с вебсайта в форме XML файла называется RSS feed (RSS-фид, RSS-лента или RSS-канал).
RSS технология позволяет представить информацию, как правило часто обновляемую, с вебсайта – источника в таком формате, в котором она может быть отображена на других вебсайтах, заинтересованных в оперативном показе этой информации.
Большинство современных браузеров, почтовых клиентов поддерживают RSS-ленты (Mozilla, Google Chrome, Opera, Miranda и др.).
Существуют сайты, собирающие и отображающие RSS-каналы: Feedly, Google News, Alltop, News360, Panda, Techmeme, Flipboard, Pocket, Яндекс.Лента, …

Создание технологии синдикации

У истоков создания технология синдикации стоит компания Netscape (В 1999 году появилась первая версия, получившая номер 0.90).
В 2000 году увидела свет новая, улучшенная версия 0.91 (компания UserLand).
В 2000 году O’Reilly создана версия 1.0, которая базировалась на RDF (Resource Description Framework) формате описания данных. Эта версия развивалась компанией RSS-DEV под названием RDF Site Summary.
В 2002 году Dave Winer (Harvard University) определил спецификацию RSS 2.0.
Мы рассмотрим примеры использования синдикации информации с вебсайтом на примере версии RSS 2.01.

К началу страницы

Механизм действия RSS.

Технология RSS достаточно проста. Для публикации в Интернете информации, уже размещенной на каком-нибудь сайте, необходимы следующие составляющие.
– Веб страница с информацией, которую предполагается предоставить для просмотра на других сайтах.
XML файл, определяющий RSS feed. Этот файл содержит следующую информацию по каждой странице, которую предполагается опубликовать: URL страницы, заголовок (title) страницы, общее описание (Describe)содержания страницы.
– Конкретный человек, который хочет отобразить (читать) информацию на своем компьютере. Для этой цели этому человеку необходимо использовать RSS – ридер или Веб браузер, для того, чтобы добавить интересующий его RSS feed с помощью специальной команды в программу на своем компьютере.
– Или вебсайт, который хочет показать RSS feed. В этом случае необходимо загрузить RSS feed с сайта Провайдера, прочитать (extract) URL страницы и отобразить заголовок новости и краткое содержание. Это может быть выполнено с помощью специального скрипта.
– Когда посетитель сайта – получателя RSS загружает страницу, на которой размещен скрипт, этот скрипт срабатывает, загружая RSS файл с сайта провайдера и показывает список новостей, опубликованных на страницах сайта – донора.
– Кликнув на линию списка, посетитель открывает страницу с информацией сайта донора новостей.

К началу страницы

Структура RSS документа.

RSS документ – это XML файл, глобальный контейнер RSS тэгов в RSS 2.0 формате.  Файл содержит, как минимум один канал (channel). Канал – это вебсайт – провайдер (донор) информации. Канал продвигает статьи или данные, т. е. страницы с этого сайта или с другого сайта.

Как использовать RSS

1. На отдельном компьютере RSS фиды могут быть паказаны Веб-браузером. Так же на компьютере можно инсталлировать программу RSS – ридер (RSS reader) или агрегатор (aggregator), если на компьютере установлена операционная система Windows, Linux, Mac OS, … Доступ к RSS содержимому зависит от применяемого ридера.
2. На вебсайте RSS фид выводится в форме списка заголовков статей, которые могут дополняться кратким содержанием статей. Кликнув на заголовок статьи из списка, посетитель открывает страницу со всей статьей. Список обновляется автоматически с помощью скрипта, который загружает список при загрузке страницы, содержащей этот скрипт.

Публикация RSS feed.

Имеется несколько способов генерировать RSS feed.
– Используя RSS библиотеку скриптов. Скрипт создает XML файл из содержимого мета тэгов “title“, “description“, содержимого самой страницы.
– Используя специализированные инструменты для выделения данных с вебстраницы.
Для того, чтобы разрешить доступ к XML файлу, размещаются следующие линки:

К началу страницы

Основные RSS тэги.

rss – глобальный контейнер.
channel – публикуемый (распространяемый) канал информации. Включает в свою область действия  несколько тэгов, характеризующих канал и один или несколько тэгов “item“, характеризующих включенную в канал информацию.

Пример последовательности тэгов:

<rss version=”2.0″>
<channel>

</channel>
</rss>

Обязателные тэги, которые включаются в область действия тэга “channel”:
title – заголовок канала.
link – URL вебсайта, информацию с которого представляет канал, например:.
description – краткая характеристика содержимого канала.
item – как минимум один тэг, для характеристики содержимого канала.
Пример последовательности тэгов:
<rss version=”2.0″>
<channel>
<title>
Блог Олега Якупова</title>
<link>http://www.olegyakupov.com/blog/</link>
<description>Я отношусь к той категории советских людей, которых называют “Ташкентскими русскими”. Это эндемики, сохранившие в окружении инородной культуры своеобразную русскую,
</description>
<item>
</item>
</channel>
</rss>

Необязательные тэги для канала:
language – используемый язык сообщения. например: ru-RU.
docs – ссылка на сайт, где можно найти описание вормата XML файла.
webmaster – адрес электронной почты веб мастера сайта.
pubDate – дата опубликования информации, например.
managingEditor  адрес электронной почты управляющего сайта.
lastBuildDate – дата последней синдикации данных.
generator – программа, генерирующая RSS feed, например: Blog RSS Generator Version 3.4.0.39853. 

Тэги, находящиеся в области действия тэга “item”, т. е. характеризующие конкретный набор данных (статью):
title – название статьи, например: Что такое Верхняя мантия Земли и зачем нужно ее изучать.
link – URL странницы, на которой размещается статья, например: http://www.olegyakupov.com/blog/introduction-of-rss-technology/
desсription – краткое описание статьи.

Пример последовательности тэгов в области действия тэга “item”:

<item>
  <title> Введение RSS технологию.</title>
  <link> http://www.olegyakupov.com/blog/introduction-of-rss-technology/

</link>
<description> Приводятся краткие сведения о RSS технологии представления информации в Интернете.</description>
 </item>

К началу страницы

 Создание RSS feed.

1. Создаем XML файл в любом текстовом редакторе. Я пользуюсь редактором MSVisual Studio 2015. Назовем файл “feed.xml”. Исходная структура файла:
<?xml version=”1.0″ encoding=”utf-8″ ?>
Добавим глобальные RSS тэги:
<?xml version=”1.0″ encoding=”utf-8″ ?>
2. С помощью тэга “channel” и обязательных вложенных тэгов “title“, “link” и “description” определяем источник информации.
<rss version=”1.0″>
<channel>
</channel>
</rss>
3. Добавляем изображение, если требуется, но это не обязательно. Можно использовать общепринятые форматы .gif, .jpg, .png. Помеcтим изображение в ту же директорию, что и RSS файл. Для определения изображения будем использовать три тэга:
image – тэг – контейнер.
url – адрес картинки
link – адрес страницы, которая будет показана при клике на картинку.

Пример последовательности тэгов:
<channel>
<title> </title>
<link> </link>
<image>
<url> </url>
<link> </link>
</image>
</channel>

4. Добавим статью с помощью тэга “item“.
Внутри этого тэга опишем:
-заголовок статьи с помощью вложенного тэга “title“;
– URL страницы, содержащей статью, с помощью вложенного тэга “link“;
– краткое содержание статьи с помощью вложенного тэга “description“.
В результате создадим следующий код:
При необходимости, можно добавить неограниченное число статей, используя тэги, описанные в этом разделе. Но мы этого делать не будем.
<item>
  <title> Введение RSS технологию.</title>
  <link> http://www.olegyakupov.com/blog/introduction-of-rss-technology/

</link>
<description> Приводятся краткие сведения о RSS технологии представления информации в Интернете.</description>
 </item>

5. Добавим файл “feed.xml” на наш сайт так же, как и другие страницы сайта.
6. Можно протестировать файл “feed.xml” на предмет его соответствия общепринятому стандарту с помощью специальных онлайновых RSS feed валидаторов, например валидатора http://www.feedvalidator.org (FOR ATOM AND RSS AND KML).
7. Для того, чтобы сделать RSS feed, созданный нами доступным посетителям сайта, добавим RSS кнопку  на домашнюю страницу сайта, и сделаем так, что нажатие этой кнопки покажет только что созданный нами “feed.xml” файл:
<a href=”PravoslavieUs-Feed.xml” target=”_blank”> <img src=”feed-icon-16.gif” alt=”” /> </a>
Если изображения кнопки не видно, можно воспользоваться полным путем к файлу – картинке кнопки.
8. Для обновления RSS нужно добавлять новые статьи с помощью блоков тэгов “item” и удалять старые, сохраняя общее количество статей неизменным.

Законченный пример:

<?xml version=”1.0″ encoding=”utf-8″ ?>
Информация для браузеров об RSS feed, имеющемся на сайте.
<rss version=”2.0″>
<channel>
<title>Website www.Pravoslavie.us: Orthodoxy, Orthodoxy in America.</title>
<link>http://www.pravoslavie.us</link>
<description>The Autocephalous Churches. The Autonomous Orthodox Churches. Orthodoxy in America. Link Collection. Orthodoxy History and Arts. Russian America. www.pravoslavie.us.</description>
<item>
<title>The Autocephalous Churches.</title>
<link>http://www.pravoslavie.us/Autocephalous.htm</link>
<description>A list of all the Autocephalous Churches.</description>
</item>
<item>
<title>The Autonomous Orthodox Churches.</title>
<link>http://www.pravoslavie.us/Autonomous.htm</link>
<description>A list of the Autonomous Orthodox Churches.</description>
</item>
</channel>
</rss>
Мы создали RSS, а фактически XML файл, в нашем примере “PravoslavieUs-Feed.xml” и расположили его в корневой директории нашего сайта. Теперь мы должны сообщить браузерам об этом. Для чего поместим следующий тэг внутри <head> </head> секции:
<link rel=”alternate” type=”application/rss+xml” href=”http://www.pravoslavie.us/PravoslavieUs-Feed.xml” title=”RSS feed” />

К началу страницы

Показ RSS на вебсайте

Многие веб-сайты, контент которых регулярно обноляется (например новостные сайты), создают RSS ленты (RSS-feeds) и предоставляют веб-страницы с этими фидами для других веб-сайтов. Вот пример одной страницы (RSS-feed) с новостного сайта fergana.ru: https://fergana.agency/rss.php. Информация о новостях находится в XML формате, и для того, чтобы она появисась на сайте, её необходимо расшифровать в момент показа страницы.
Существует немало сайтов и инструментов, которые помогают вебмастеру сгенерировать java или html код, расшифровывающий XML код для показа содержимого RSS feed на страницах сайта.

Сервис feedroll.com

Рассмотрим, для примера, сайт http://www.feedroll.com. С этого сайта можно загрузить javascript код для показа RSS, предварительно выбрав источник и настроив внешний вид окна, в котором будет показываться информация. Мы выбрали источник Pravoslavie.us. Настроили окно показа в соответствии с дизайном страницы, на которой будем показывать новости. Скопировали код для показа и разместили на нашей странице. Пример кода:
<script language=”JavaScript” src=”http://feedroll.com/rssviewer/feed2js.php?src=http%3A%2F%2Fwww.pravoslavie.us%2FPravoslavieUs-Feed.xml&chan=y&desc=1&utf=y” charset=”UTF-8″ type=”text/javascript”></script>
<noscript>
<a href=”http://feedroll.com/rssviewer/feed2js.php?src=http%3A%2F%2Fwww.pravoslavie.us%2FPravoslavieUs-Feed.xml&chan=y&desc=1&utf=y&html=y”>View RSS feed</a>
</noscript>

Еще один пример (RSS-лента новостного сайта fergana.ru) :
<script language=”JavaScript” src=”http://feedroll.com/rssviewer/feed2js.php?src=https%3A%2F%2Ffergana.agency%2Frss.php&targ=y&utf=y&pc=y&html=a” charset=”UTF-8″ type=”text/javascript”></script>
<noscript>
<a href=”http://feedroll.com/rssviewer/feed2js.php?src=https%3A%2F%2Ffergana.agency%2Frss.php&targ=y&utf=y&pc=y&html=y”>View RSS feed</a>
</noscript>

Имеется еще не один сайт, на котором можно получить код для размещения RSS на своем сайте. Как правило, для получения доступа к бесплатным инструментам необходимо зарегистрироваться, задав свое имя, адрес электронной почты и имя своего сайта. Вам будут высланы по указанному адресу электронной почты пользовательское имя и пароль. То есть Вы получаете доступ к бесплатным инструментам. Схема действий аналогичная, описанной для первого примера.

WP Plugin RSS Feed Retriever

Последние годы большое распространение получила система для построения веб-сайтов – WordPress. Полное название строительной системы CMS (Content Management System) WordPress. Многочисленные инструменты, входящие в состав этой строительной системы, позволяют создавать функциональные веб-сайты. Среди этих строительных инструментов заметное место занимают Плагины (Plugins). Мы расскажем о плагине, позволяющем достаточно просто размещать RSS-ленты на страницах вебсайта, построенного с помощью системы WordPress. Плагин называется RSS Feed Retriever v1.6.1. Мы предполагаем, что плагин RSS Feed Retriever v1.6.1 уже инсталлирован в CMS WordPress. Сам процесс установки плагина чрезвычайно прост, но это не является предметом нашего поста. Рассмотрим, какие шаги необходимо предпринять, чтобы на сайте, например RusTashkent.com, появилась новая страница с новостной лентой, например с информационного сайта Gazeta.uz.
1. Нужно получить линк на RSS-feed с сайта Gazeta.uz. Вот этот линк: https://www.gazeta.uz/ru/rss/.
2. На сайте RusTashkent.com создать новую страницу, например с именем: Новости Узбекистана от Gazeta.uz.
3. Внутри страницы поместить специальный код от плагина RSS Feed Retriever, слегка его модифицировав:

Loading RSS Feed

Я выделил жирным ту часть кода, которую пришлось модифицировать, то есть задать адрес RSS Feed.
И всё! Страницу можно публиковать. Вот её постоянный адрес в Интернете: http://rustashkent.com/news-of-uzbekistan/news-of-uzbekistan-from-gazeta-uz/
А вот её моментальный снимок:

Именно моментальный, потому что новостная лента постоянно меняется. И в момент вызова страницы, на ней может быть уже обновлённая RSS-лента

К началу страницы

Некоторые термины, используемые в этой заметке.

Feed – набор “item” тэгов для определения информации или новостей.
RDF (Resource Description Framework) – набор спецификаций для описания и моделирования данных, которые используются различными интернет ресурсами.
RSS (Real Simply Sindication или Rich Site Summary) – набор Web feed форматов.
Web feed (News feed) – формат данных для предоставления часто меняющегося содержимого сайта.
Sindicated – Опубликовано через RSS feed.
Sindication – Публикация данных с помощью RSS feed.
XML (Extensible Markup Language) – спецификация для создания различных языков описания данных, в том числе и языка для описания RSS.




К началу страницы

Author: Олег Якупов

Я отношусь к той категории советских людей, которых называют "Ташкентскими русскими". Это эндемики, сохранившие в окружении инородной культуры своеобразную русскую, еще дореволюционную культуру, и прежде всего, язык. А так же впитавших в себя много хорошего из окружавшей нас по жизни восточной культуры. Еще нас называют "Совками". Но это относится не только к бывшим жителям гостеприимного Ташкента, но к жителям всего Советского Союза, сформировавшимся, как личности, во времена Советского Союза. Многих из нас судьба разбросала по всему Земному шару. Нам не хватает привычного общения. Наши дети и внуки, помимо своей воли, становятся "иностранцами". Блог – это то место, где я смогу выговориться, а если повезет, то и поговорить с людьми моего поколения. Спасибо Интернету, он предоставляет нам такую возможность.

Leave a Reply