Быстрый старт



Прочитав этот материал, вы вкратце узнаете, зачем и как использовать RSS-farm.ru.

Исходные данные

  • неполная RSS-лента любимого сайта (необязательно, но желательно);
  • желание преобразовать эту ленту в полнотекстовую (или просто сделать полнотекстовую RSS-ленту, без какой-либо RSS-ленты со стороны сайта);
  • компьютер на базе Виндоуз ЭксПи/Виста с интернетом.

Если все это про вас, читаем дальше.

Hello web!

Сейчас посмотрим, как с помощью rss-farm.ru можно создать полнотекстовую ленту произвольного сайта.

Для начала выберем сайт, у которого уже есть неполная RSS-лента — Habrahabr.ru. Далее я расскажу как запустить DevTools, понять откуда и как брать данные для будущей RSS-ленты.

Шаг 1. Запуск DevTools

В браузере ИнтернетЭксплорер6+ переходим по ссылке http://rss-farm.ru/devtools_latest.zip. Через несколько секунд поле того, как вы согласитесь на запуск, должна запуститься программа DevTools. Если что-то пошло не так, то, скорее всего, вам нужно скачать .net Framework 3.5 и все заработает.

Шаг 2. Исследование страниц — вкладка Parser

В DevTools переходим на вкладку Parser. Эта вкладка служит проводником по внутренностям веб-страниц :) С помощью этой вкладки можно понять, где на странице баннеры и менюшки, а где контент.

Вводим в поле «Url» адрес любой новости из RSS-ленты сайта, в поле «Use encoding» — кодировку страницы (так же ставим галку около этого поля) и жмем «Refresh». Справа должен появиться элемент дерева документа. Он так и называется — «#document». Щелкните на этот элемент. Во вкладке «Browser» должна появиться новость с полным текстом. Разверните этот элемент, пощелкайте по разным узлам дерева. В зависимости от активного элемента дерева, вкладки «Browser»,  «HTML» и «Properties» будут показывать разное содержимое: первая вкладка показывает визуальное представление элемента, вторая — текст выделенного элемента, третья — важные свойства выделенного элемента.

Сейчас самое главное — найти тот участок исходного текста страницы, в котором расположена интересующая вас информация. Сделать это можно так: переключаемся на вкладку «Browser» и начинаем ходить по дереву так, что бы интересующий нас текст (топик Хабрахабра) был всегда виден в браузере. Как только вы дойдете до такого элемента, что бы в браузере был только нужный вам контент — останавливайтесь. В случае с Хабрахабром это элемент «div» с атрибутом «class» равным «content». Запомним эту характерную черту.

Шаг 3. Кодирование — вкладка Template

После того, как мы поняли, где на странице располагается интересный нам текст, переходим на вкладку «Templates».

Заполняем все поля, ставим галку «RSS based?» — мы делаем канал на основе RSS-ленты. Теперь попробуйте нажать кнопку «Update» — справа должны появиться заголовки исходной RSS-ленты Хабрахабра.

Теперь нам нужно написать несколько строк, которые будут определять наполнение каждой статьи канала. Впишите в поле «Article template» такой текст:

	var d = new Document(article.url, channel.encoding);
	var el = d.getElementsByAttr("div", "class" , "content")[0];
	article.body = el.innerHTML;

Разберем его по строчкам.

В первой строке создается объект d типа Document — в нем содержится вся страница, на которой расположен топик. Этот объект создается на базе адреса страницы (article.url — этот адрес получен из исходной RSS-ленты) и кодировки (channel.encoding — то, что мы вписали в поле «Encoding» блока «Channel»). Впоследствии мы вытащим из объекта d нужный нам кусок текста.

Во второй строке создается объект el, в котором будет интересующий нас фрагмент текста. На втором шаге мы узнали, что нам нужен элемент «div» с классом «content». По этому, мы запрашиваем d дать нам все объекты с такими характеристиками (d.getElementsByAttr(«div», «class» , «content»)). Объектов с такими атрибутами может быть несколько, берем первый (вот зачем нужно [0] в конце).

В третьей строке мы говорим, что текстом статьи и будет содержимое объекта el

Hint!: как ещё можно вытаскивать блоки текста из объекта Document, как создавать Document с другими кодировками и прочее — в документации.

Жмем «Update» и ждем некоторое время. Справа должна появиться полнотекстовая лента Хабрахабра.

Шаг 4. Создание канала

После того, как шаблон создан, можно создать онлайн-канал новостей. Для этого сохраните шаблон. Затем на странице http://rss-farm.ru/my/channels/ создайте новый канал и обновите его шаблон. Через некоторое время в этом канале начнет появляться контент.

Итоги

Как видите, довольно просто создать полнотекстовый канал на основе RSS-ленты заголовков. Для этого нужно просто немного исследовать исходный сайт и написать пару строк.

Но что делать, если любимый сайт не поставляет RSS вообще? Как следить за процессом обновления канала? Какие есть еще способы получения частей страницы?

Читайте в следующих выпусках :)