Лекция: Синдикация и аггрегирование веб-контента

Веб-синдикация. Веб-поток. Аггрегатор потоков. Преимущества веб-потоков. RSS.

Веб-синдикация - форма синдикации при которой содержимое веб-сайта предоставляется другим многочисленным веб-сайтам. Иначе говоря, веб-синдикация означает создание доступных с сайта веб-потоков (feed), предоставляющих всем пользователям в форме краткой сводки информацию о новом содержимом, появившемся на сайте (это могут быть новости, сообщения из форума и др.). Веб-поток - формат данных, используемый для предоставления пользователям часто обновляемого контента. Распространители контента объединяют (синдицируют) веб-потоки, давая пользователям возможность подписаться на них. Другое название для веб-потока - синдицированный поток. Создание набора веб-потоков, которые доступны одновременно в одном месте называется аггрегированием. Для этого используются специальные аггрегаторы. Аггрегатор потоков (feed aggregator) - клиентское веб-приложение, собирающее синдицированный веб-контент такой как новостные заголовки, блоги, подкасты и другие в одном месте для более удобного просмотра. Для принимающего сайта веб-синдикация является эффективным способом размещения более исчерпывающей и своевременной информации на своих страницах. Для сайта передающего синдицируемую информацию выгода заключается в большей степени его представленности среди различных он-лайн платформ. Кроме того, порождается дополнительный трафик, что, по-сути, является простой и бесплатной формой рекламы сайта в сети веб. Взаимодействие веб-потоков и аггрегаторов происходит в следующем порядке:
  • Провайдер контента публикует ссылку на поток со своего сайта.
  • Пользователь может зарегистрировать эту ссылку с помощью программы-аггрегатора на своем компьютере.
  • Программа-аггрегатор затем опрашивает все серверы, входящие в список зарегистированных потоков, с целью получения нового контента.
  • При наличии нового контента программа-аггрегатор либо информирует пользователя о наличии такового либо сразу же загружает его.
Контент веб-потока обычно представляет собой веб-страницы, гиперссылки либо мультимедиа. Извлечение контента с сайта в форме веб-потока обычно производится средствами самого веб-сайта. Однако, не все веб-сайты могут иметь веб-поток. В этом случае могут быть использованы средства сторонних агентов. Веб-поток - это веб-документ, обычно в XML формате, содержащий тематические элементы, содержащие ссылки на более полную версию материала. Является удобным инструментом для доставки структурированной информации. Пользователи могут подписываться на веб-потоки с помощью аггрегаторов или программ для чтения потоков, которые комбинируют содержимое нескольких веб-потоков для отображения на одной странице (или нескольких последовательных страницах). Некоторые из веб-браузеров содержат встроенные возможности для аггрегирования потоков. Это делается путем простого ввода URL веб-потока или кликом на гиперссылке в браузере. Формат веб-потоков не предназначен для непосредственного чтения пользователем, поскольку позволяет автоматически переносить контент с сайт на сайт. Для представления информации из веб-потока обычно используются 2 формата: RSS и Atom. Если сравнивать веб-поток с более традиционной почтовой технологией доставки часто обновляемой информации, то можно указать на следующие преимущества первого:
  • Поскольку при подписке пользователь не указывает свой адрес электронной почты, эта технология лишена таких потенциальных угроз как спам, вирусы, фишинг и кража личной информации.
  • При отказе от использования веб-потока нет необходимости отправлять запрос на отказ от подписки; пользователь просто исключает данный поток из своего аггрегатора.
  • Имеются широкие возможности для автоматической сортировки сообщений от веб-потоков вплоть до использования сложных правил и регулярных выражений.
  • Браузеры Internet Explorer 7.0, Opera, Safari, Firefox и другие могут работать с веб-потоками через инструменты панели Закладок, Избранного и других. Имеются также специализированные программы для чтения веб-потоков, например FeedDemon, Thunderbird, Outlook 2007 и другие.
Аггрегатор позволяет объединить информацию из разных потоков в одном окне веб-браузера или веб-приложения. Такое приложение называется RSS-каналом, новостной лентой, аггрегатором потоков или поисковым аггрегатором. Подкастинг-аггрегаторы могут автоматически загружать медиа-файлы. Объединенный контент аггрегатор получает и интерпретирует обычно в формате RSS или других форматах, основанных на XML, например RDF/XML или Atom. Наиболее развитые методы аггрегирования веб-потоков реализуются на основе технологий AJAX и XML компонентов - веб-виджетов (web widgets). Многие языки программирования имеют библиотеки функций, позволяющие загружать, обрабатывать, генерировать и выполнять удаленную загрузку каналов. Например в Perl имеется поддержка нескольких библиотек в пространстве имен XML::RSS RSS RSS — семейство XML-форматов, предназначенных для описания лент новостей, анонсов статей, изменений в блогах и т. п. В разных версиях аббревиатура RSS имела разные расшифровки:
  • Rich Site Summary (RSS 0.9x);
  • RDF Site Summary (RSS 0.9 и 1.0);
  • Really Simple Syndication (RSS 2.x).
Из истории формата. Первой открытой официальной версией RSS стала версия 0.90. Формат был основан на RDF (Resource Description Framework — стандарт схемы описания потоков) и многим показался слишком сложным, после чего появилась упрощенная версия — 0.91. В 2000 году произошло разделение формата:
  • Группа разработчиков из списка рассылки "RSS-DEV" предложила формат RSS 1.0, который был основан на стандартах XML и RDF организации W3C. Расширения формата предлагалось делать через модули расширений, описываемые в своих пространствах имен. Так как проект использует уже существующие стандарты, рассматривается его использование в рамках технологии Semantic Web.
  • Спецификация RSS 0.92 является развитием версии 0.91 и ориентируется на тех пользователей, которым RDF-описание показалось излишне сложным. Дальнейшим развитием этой ветки стал формат RSS 2.0, который тоже поддерживает расширения с помощью модулей, лежащих в своих пространствах имен.
  • В июне 2006 года появился конкурент RSS — формат Atom.
Из-за существования нескольких различных версий формата RSS-каналов программы-агрегаторы должны уметь работать со всеми вариантами, что создает определенные трудности их разработчикам. Проблемы совместимости возникают также при вставке в RSS-описания небольших HTML-фрагментов, которые в одних случаях оформляются как CDATA узлы, а в других — как HTML-кодированные PCDATA узлы. Существуют проблемы с различными форматами представления дат и метаданных. 30. Лабораторная работа: Примеры разработки RSS-источников и RSS-ридеров Цель работы Введение в технологию RSS. Изучение структуры RSS документов, их генерации и публикации. RSS – это метод распространения веб-контента с веб-сайта на других веб-сайтах. RSS позволяет выполнять быстрый просмотр новостей и изменений. На кого ориентирован формат RSS? В первую очередь RSS предназначен для использования на очень часто обновляемых веб-сайтах, например:
  • Новостные сайты (списки новостей).
  • Сайты компаний (списки новостей и продуктов).
  • Календари (списки предстоящих событий и знаменательных дней).
  • Изменения сайтов (список обновленных и новых страниц).
Официального стандарта RSS как такового не существует. Реально используются следующие форматы:
  • Порядка 50% RSS-потоков используют RSS 0.91.
  • Порядка 25% используют RSS 1.0.
  • Оставшиеся 25% RSS-потоков распределены между RSS 0.9 и RSS 2.0.
Как работает RSS?
  1. Создается RSS документ в виде файла с расширением.xml.
  2. Этот файл размещается на веб-сайте.
  3. RSS-поток регистрируется в RSS-аггрегаторах.
Пример RSS документа <?xml version="1.0" encoding="windows-1251"?> <rss version="2.0"> <channel> <title>My Home Page</title> <link>http://www.MyHP.edu</link> <description>Free web building tutorials</description> <item> <title>RSS Demo</title> <link>http:// www.MyHP.edu/rss</link> <description>New RSS demo on my home page</description> </item> <item> <title>XML Demo</title> <link> www.MyHP.edu/xml</link> <description>New XML demo on my home page</description> </item> </channel> </rss> В первой строке размещено объявление версии XML и кодировки документа. Вторая строка идентифицирует данный документ как RSS документ версии 2.0. В третьей строке содержится элемент <channel>, описывающий RSS поток. Он в свою очередь содержит дочерние элементы:
  • <title> - описывает заголовок RSS канала.
  • <link> - описывает гиперссылку на канал.
  • <description> - содержит краткую характеристику канала.
Каждый элемент <channel> может содержать один или более <item> элементов. Каждый элемент <item> описывает отдельную статью RSS источника. В свою очередь каждый элемент <item> имеет три обязательных дочерних элемента:
  • <title>
  • <link>
  • <description>
Кроме обязательных элементов <channel> может содержать некоторые дополнительные дочерние элементы.
  • Элемент <category> описывает категорию потока и используется RSS аггрегаторами для группировки сайтов на основе категорий.
  • Элемент <copyright> информирует об авторском праве на данный документ.
  • Элемент <image> предназначен для отображения изображения при показе потока агрегатором. В свою очередь он содержит три обязательных дочерних элемента:
    • <url> - URL изображения
    • <title> - альтернативный текст, отображаемый при невозможности показа изображения
    • <link> - содержит гиперссылку на веб-сайт, содержащий канал
Пример: <image> <url>http://www.myhp.edu/images/me.gif</url> <title>My home page</title> <link>http://www.myhp.edu</link> </image> Элемент <language> информирует о языке документа. Может быть использован аггрегаторами для группировки сайтов по языку. Список дочерних элементов для элемента <channel>.
Элемент Описание Статус
<category> Указывается одна или несколько категорий потока Необязательный
<cloud> Регистрирует процессы, получающие немедленное извещение в случае обновления потока Необязательный
<copyright> Извещает об авторском праве на документ Необязательный
<description> Краткое описание канала Обязательный
<docs> Указывает URL документов по форматам, используемым в потоке Необязательный
<generator> Указывает на программу, генерирующую поток Необязательный
<image> Позволяет показывать изображение, представляющее поток в аггрегаторе Необязательный
<language> Указывается язык потока Необязательный
<lastBuildDate> Определяется дата последнего обновления содержимого потока Необязательный
<link> Указывается гиперссылка на канал Обязательный
<managingEditor> Содержится почтовый адрес редактора содержимого потока Необязательный
<pubDate> Определяет дату последней публикации содержимого потока Необязательный
<rating> Содержится PICS рейтинг потока Необязательный
<skipDays> Указывает дни, в которые аггрегаторы не должны обновлять поток. Необязательный
<skipHours> Указывается количество часов в течение которых аггрегаторы не должны обновлять поток Необязательный
<textInput> Описывается текстовое поле ввода, отображаемой в потоке Необязательный
<title> Размещается имя канала Обязательный
<ttl> Указывается количество минут в течение которых поток может находится в кэше до обновления из источника Необязательный
<webMaster> Помещается адрес электронной почты веб-дизайнера потока Необязательный

Список дочерних элементов для элемента < item >

Элемент Описание Статус
<author> Адрес электронной почты автора темы Необязательный
<category> Описывает одну или более категорий для данной темы Необязательный
<comments> Позволяет связать тему с комментариями по данной теме Необязательный
<description> Краткое описание темы Обязательный
<enclosure> Позволяет включить мультимедиа файл в данную тему Необязательный
<guid> Содержит уникальный идентификатор темы Необязательный
<link> Содержит гиперссылку на тему Обязательный
<pubDate> Содержит последнюю дату публикации темы Необязательный
<source> Указывает внешний источник для данной темы Необязательный
<title> Название темы Обязательный

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: