Лабораторна робота №7, Створення RSS-списку для подання новин на сайті віртуальної організації
Код роботи: 1679
Вид роботи: Лабораторна робота
Предмет: Сучасні інтернет-технології
Тема: №7, Створення RSS-списку для подання новин на сайті віртуальної організації
Кількість сторінок: 1
Дата виконання: 2016
Мова написання: українська
Ціна: 200 грн (за програму)
Мета лабораторної роботи: Навчитися створювати RSS списки та використовувати їх.
Порядок виконання:
1. Створити RSS-список новин відповідно до специфікації RSS 2.0 та розмітити його на сервері.
2. Написати аналізатор для виведення списку на HTML-сторінку.
3. Використати програму-клієнт RSS (RSS-агрегатор) для доступу до RSS-списку як власного, так і списків, розроблених іншими студентами
4. Захистити лабораторну роботу перед викладачем.
Приклад виконання:
1. Створення RSS-списку.
За специфікацією RSS 2.0 передбачається чітко визначений набір елементів для організації каналу новин. Детально зі специфікацією RSS 2.0 можна ознайомитись за адресою http://blogs.law.harvard.edu/tech/.
Структура RSS-списку включає декларацію того, що файл є xml і rss. Далі слідує обов’язковий тег верхнього рівня <channel>, який обов’язково включає один/декілька елементів <item>, в кожному з яких міститься опис певної «новини», а також інші елементи:
<?xml version=«1.0» encoding=«windows-1251»?>
<rss version=«2.0»>
<channel>
...
<item>
…
</item>
<item>
…
</item>
</channel>
</rss>
Основні піделементи <channel> подані в табл. 5.1, вибіркові подані в табл. 5.2.
Таблиця 5.1
ОСНОВНІ ПІД-ЕЛЕМЕНТИ <CHANNEL>
Елемент |
Опис |
Приклад |
title |
Назва каналу новин, пов’язується із HTML-сайтом, на якому розміщені новини |
Podrobnosti.ua |
link |
URL на HTML-сайт пов’язаний з каналом |
http://www.podrobnosti.ua/rss/news/ukraine.rss |
description |
Речення, що описує канал |
«Обзоры основных событий в Украине и в мире, постоянно обновляемая лента новостей, аналитические статьи» |
Таблиця 5.2
ВИБІРКОВІ ПІД-ЕЛЕМЕНТИ <CHANNEL>
Елемент |
Опис |
Приклад |
language |
Мова, на якій написано новини каналу (двобуквенні коди країн визначено специфікаціями [ISO639], [ISO3166]. |
ru |
copyright |
Копірайт-нотатки для каналу |
Copyright 2005, Kozak |
managingEditor |
Email-адреса особи, відповідальної за редагування каналу |
kozachka@ukr.net |
webMaster |
Email-адреса особи, відповідальної за технічні моменти роботи каналу |
maleks@ua.fm |
pubDate |
Дата публікації контенту каналу |
Sat, 07 Sep 2002 00:00:01 GMT |
lastBuildDate |
Час останньої зміни контенту |
Sat, 07 Sep 2002 09:42:31 GMT |
category |
Визначення однієї/декількох тематичних категорій, до яких належить канал |
<category>Newspapers</category> |
generator |
Вказується програма, що викорстовується для генерування каналу |
MightyInHouse Content System v2.3 |
docs |
Вказує на розміщення документації з використаного для форматування RSS-файлу стандарту |
http://blogs.law.harvard.edu/tech/rss |
cloud |
Дозволяє реєструватися для повідомлення про зміни у каналі, забезпечуючи підписку на канали |
<cloud domain=«rpc.sys.com» port=«80» path=«/RPC2» registerProcedure=«pingMe» protocol=«soap»/> |
ttl |
Число хвилин, яке канал зберігається до оновлення |
<ttl>60</ttl> |
image |
Визначає картинки типу GIF, JPEG або PNG, які можуть висвітлюватись в каналі. Використовується програмами-агрегаторами як піктограма каналу. Містить 3 обов’язкові піделементи: <url> (картинки), <title>(сторінки), <link> (на сторінку). |
<image> <url>http://podrobnosti.ua/img/podrobnosti_rss.gif</url> <title>Podrobnosti.ua</title> <link>http://www.podrobnosti.ua/</link> </image> |
rating |
Рейтинг каналу згідно з PICS (http://www.w3.org/PICS/) |
|
textInput |
Визначає текстовий блок діалогу, що використовується з каналом — містить 4 піделементи <title>, <description>, <name>, <link> (останній для URL CGI-скрипта, який оброблятиме введений текст). |
— |
skipHours |
Інформація для програм-агрегаторів — які години вони можуть минати |
— |
skipDays |
Інформація для програм-агрегаторів — які дні вони можуть минати |
— |
Піделементи <item> подано в табл. 5.3. Всі вони є вибірковими, але повинен бути заданий хоча б один піделемент (title або description).
Таблиця 5.3
ПІДЕЛЕМЕНТИ <ITEM>
Елемент |
Опис |
Приклад |
title |
Заголовок новини |
<title>Графік Президента України на 16 березня</title> |
link |
URL новини |
<link>http://ww2.yuschenko.com.ua/ukr/present/News/2651/</link> |
description |
Опис новини |
<description>У середу, 16 березня, Президент України зустрінеться з керівництвом міністерства у справах молоді і спорту...</description> |
author |
Email адреса автора новини |
— |
category |
Категорія до якої відноситься новина |
— |
comments |
URL сторінки коментарію пов’язаного з новиною |
— |
enclosure |
Опис медіа-об’єкту доданого до новини |
— |
guid |
Рядок, що ідентифікує новину |
— |
pubDate |
Визначення дати публікації новини |
<pubDate>15 Mar 2005 20:32:00 + 0200</pubDate> |
source |
RSS-канал з якого взята новина |
— |
Можливі декілька підходів до створення RSS-списку:
А) вручну, за допомогою текстового редактора (наприклад, WordPad);
Б) за допомогою спеціального редактора XML-сторінок (наприклад, Xmetal);
С) за допомогою програми-генератора.
Ми використаємо перший підхід, як такий, що не потребує встановлення додаткового програмного забезпечення і дозволяє розібратися в структурі RSS-списку.
Приклад створеного списку подано в табл. 5.4.
Таблиця 5.4
RSS-СПИСОК PRIM.RSS
Перевірити коректність RSS-списку можна за допомогою однієї з доступних програм-валідаторів.
Після створення даного списку, його необхідно зберегти як звичайний текстовий файл з розширенням .xml або .rss. Збережемо наш приклад як prim.rss.
Після цього розмістимо на нашому Web-сервері — наприклад, localhost (там де і звичайні.html сторінки).
Для того, щоб зробити наш RSS-список доступним іншим користувачам, розмістимо на нього посилання на своїй HTML-сторінці (на якій виводяться новини). Зазвичай посилання на RSS-список оформлюється за допомогою маленької оранжевої картинки (рис. 1), біля якої його дублюють текстом. Слід зазначити, що посилання має бути повним, із зазначенням повного шляху та імені файлу.
Рис. 1 - Посилання на RSS-список
Можна також включити свій список у переліки на сайтах:
Daypop: http://www.daypop.com/info/submit.htm;
Syndic8: http://www.syndic8.com/suggest.php?Mode=data;
Edu_RSS: http://www.downes.ca/cgi-bin/xml/feeds.cgi та ін.
2. Написати аналізатор для виведення RSS-списку на HTML-сторінку.
Особливістю збереженого нами як prim.rss списку є те, що відкрити його у звичайному броузері поки що неможлаво — броузер «не знає» як інтерпретувати інформацію з файлу.
Оскільки список створювався для того, щоб інші користувачі могли теж подати наші новини на своїх серверах, то вони мають якимось чином наш список обробляти — з тим, щоб вивести його у звичайному .html-форматі.
Для обробки RSS-списку використаємо програму-аналізатор (парсер), запропоновану в [32], видозмінену і подану в табл. 5.5.
Таблиця 5.5
АНАЛІЗАТОР RSS-СПИСКУ
Закінчення табл. 5.5
Результат обробки нашого списку prim.rss подано на рис. 2, HTML-сторінку, згенеровану парсером, подано на рис. 3.
Рис. 2 - Вигляд RSS-списку, обробленого парсером
Рис. 3 - HTML-сторінка, згенерована парсером
У лабораторній роботі необхідно допрацювати програму таким чином, щоб:
А) оброблявся ще хоч один тег (наприклад, <pubDate>);
Б) списки мали бажаний вигляд з точки зору оформлення та виведення в потрібному місці на HTML-сторінці.
3. Використати програму-клієнт RSS (RSS-агрегатор) для доступу до RSS-списку як власного, так і списків, розроблених іншими студентами.
Для виконання даного завдання необхідно встановити на комп’ютері одну з популярних програм-агрегаторів RSS-списків.
Програми RSS-клієнти (Агрегатори) звертаються до RSS-списків на різних сайтах і виводять усі заголовки матеріалів з коротким описом статей. Таким чином робиться можливим об’єднання інформації з різних сайтів і швидкий перегляд її заголовків, якщо ж якийсь із заголовків зацікавив — можна натиснути на посилання і завантажиться HTML-сторінка з обраною статтею повністю.
На сьогоднішній день існують десятки програм-агрегаторів. Серед них: ActiveRefresh http://files.li.ru/soft/flail/InstallAR.exe, Abilon(http://files.li.ru/soft/flail/InstallAB.exe), FeedReader (http://www.feedreader.com/), NewzCrawler (http://www.newzcrawler.com/), AmphetaDesk (http://www.disobey.com/amphetadesk), Scopeware NewsWatcher (http://www.newswatcher.com/download/download.html).
Списки, адреси яких задані в програмі-агрегаторі, висвітлюються, зазвичай, у його лівому вікні, а новини вибраного списку — в правому (рис. 4).
Рис. 4 - Списки новин в агрегаторі ActiveRefresh
Підписатися на нові RSS-списки можна двома способами.
1) За допомогою файлів *.opml, які містять вже готові списки RSS каналів. Для цього необхідно імпортувати існуючий файл. Для прикладу можна завантажити переліки RSS-списків з http://my.yandex.ru/rss.opml.
2) Окремо на кожний новий список. Для цього потрібно створити нову колонку (RSS) і вписати шлях до.xml(.rss) файлу на визначеному сайті. Наприклад, шлях до RSS-списку інформаційного агенства «Обозреватель»: http://oboz.com.ua/rss.xml.