Що таке rss або чужі новини на нашому сайті
Відео: Як читати стрічку RSS
Напевно вже багато хто з вас не раз зустрічали в Інтернеті незрозуміле слово RSS. У нашій статті ми спробуємо якомога простіше пояснити, що ж це таке і як цим користуватися.
RSS - технологія, яка використовується для трансляції новин з одного сайту на інший сайт або безліч сайтів. Трансляція йде у вигляді заголовків і описів новин або статей знаходяться на сайті ретранслятора.
Сайти, які використовують RSS новин, називаються сайти-учасники. Наприклад, якщо на головному сайті додається або змінюється інформація, то і на сайтах-учасниках вона так само змінюється.
Сама абревіатура RSS має різні розшифровки, що відображають один і той же зміст. Ось деякі з них:
- Rich Site Summary - збагачена зведення сайту;
- RDF Site Summary - зведення сайту із застосуванням інфраструктури опису ресурсів;
- Really Simple Syndication - спрощене придбання інформації.
Розробка даної технології почалася в 1997, компанія Netscape використала її для наповнення свого ресурсу інформацією. Саме тоді ця технологія і отримала широке визнання і застосування.
Дана технологія дозволяє зробити інформацію більш точної і більш комунікабельною, так як відбувається миттєвий обмін новинами між сайтами, за допомогою стрічки новин, яка називається RSS-стрічка або RSS-канал.
RSS-канал буде особливо корисний тим, у кого сайти вузьконаправленої тематики. Дану технологію новинних стрічок особливо рекомендується використовувати ресурсів, які мають свою чітко виражену аудиторію.
Наприклад, якщо у вас сайт про мультфільми, то ви можете знайти ресурс, на якому схожа інформація оновлюється і поповнюється щодня. Припустимо їм буде сайт: https://mein.at.ua/ Тепер залишається скопіювати у них посилання на RSS і поставити у себе в вигляді новинний стрічкою, тоді і на вашому сайті будуть постійно публікуватися посилання на новини з вищезгаданого сайту. Вашим відвідувачам це сподобається. Ось приклад однієї з таких RSS стрічок - https://mein.at.ua/load/rss
Існує безліч сайтів, де вам пропонується великий список RSS стрічок різних тематик. Для того щоб знайти подібну посилання, заходимо в пошукову систему Google і набираємо - RSS каталог. Із запропонованих пошукачем посилань вибираємо найбільш популярний каталог, де і шукаємо підходящу нам тематику. Знаходимо там посилання і вставляємо її на свій сайт за вищевказаною способу.
Не забувайте, що на даний момент пошуковими системами даний вид потоку не індексується, єдине його призначення - це інформування відвідувачів сайту новинами певної тематики з іншого сайту.
RSS можна вставляти практично на будь-які типи сайтів. У нашому випадку ми розглядаємо варіант вставки RSS на сайти використовують скрипт Joomla. Розглянемо найпростіший модуль, який поставляється в комплекті разом з Joomla 1.5 - "mod_feed".
Інші варіанти модулів вставки RSS-стрічки ви можете знайти на сайті https://ext.joom.ru/content-rss.html
Крок 1
Зайдіть на сайт як адміністратор. Виберете в меню вкладку Розширення -gt; Менеджер модулів.
крок 2
Перед вами менеджер модулів. У правому верхньому куті ми бачимо кнопку - СТВОРИТИ.
Натискаємо на неї.
крок 3
Перед нами вікно створення модулів, де ми повинні вибрати пункт - «Стрічка новин (RSS / RDF)». Після цього натискаємо на зелену стрілку в правому верхньому куті.
крок 4
Тепер ми повинні вибрати настройки для своєї стрічки новин. В принципі тут нам потрібно написати тільки заголовок для RSS, вибрати, де він буде розташовуватися на сайті (Зліва, справа, по центру і т.д.) І в параметрах в пункті URL стрічки RSS вказати джерело, з якого буде надходити інформація, вставивши туди посилання RSS з сайту джерела новин. Для збереження налаштувань натисніть застосувати.
Ось і все, новинна стрічка готова. Заходимо на сайт і перевіряємо що вийшло.
У правом ми можемо побачити нашу RSS стрічку.
Тепер подивимося, як настройки можуть впливати на вид стрічки. Для цього повернемося в модуль з настройками.
Якщо ми поміняємо їх, то наша стрічка буде виглядати інакше. У лівому верхньому кутку ми бачимо заголовок - Подробиці. Тут ми можемо поставити умови для доступу (все, зареєстрований, спеціальний), змінити позицію на сайті (праворуч, ліворуч, по центру). Наступний заголовок - Призначення меню, в якому ми можемо вибрати функції меню, або все або зі списку. В параметрах ми можемо вибрати показувати заголовок, опис, зображення стрічки.
Тепер давайте поекспериментуємо і подивимося, що вийде. У пункті подробиці поміняємо позицію (праворуч - ліворуч). В параметрах:
1 - URL стрічки RSS (адреса RSS - стрічки) залишаємо той же.
2 - RTL feed (вказує вирівнювання, якщо встановлено, то справа наліво) прибираємо.
3 - Тема стрічки (вказує, відображати стрічку чи ні) вибираємо, немає.
4 - Опис стрічки (вказує відображати опис для стрічки чи ні) вибираємо, так само немає.
5 - Матеріали (Кількість одночасно відображаються записів) залишаємо без зміни.
6 - Опис матеріалу (короткий опис для кожного елемента) вибираємо, немає.
7 - Кількість слів (кількість відображуваних в описі слів) ставимо, 0.
Зберігаємо і дивимося, що вийшло.
Тепер стрічка RSS знаходиться зліва, у заголовків немає описів. Всі зміни діють.
У модулі RSS існує три види установок. Експериментуйте ними з ними виберіть найбільш підходящий для вашого сайту варіант показу новин обраної тематики.
Більш детально ознайомитися з функціями модуля і його кодом ви можете на сайті: "код модуля Feed" - (https://apostilas.fok.com.br/docs/joomla-1.5/nav.php?modules/mod_feed/index.php ).
Тепер розглянемо, як вставити RSS стрічку на звичайний HTML сайт. Якщо в першому випадку в Joomle вже стояв скрипт виведення RSS новин на сайт, то в наступному випадку, цей скрипт необхідно буде впровадити в ваш HTML код сторінки.
Як це зробити. Один з варіантів - це використовувати парсер RSS. Спочатку встановіть його. (Парсер - це технологія створення сайтів за допомогою простого мови. Він трохи складніше HTML, але не вимагає особливого уміння програмувати). Існує багато різних парсеров, кожен зі своїми перевагами. Ось, наприклад непоганий з використанням URL, який в той же час легко перенастраивается на використання функцій file_get_contents () і fopen (). Перевага його полягає в можливості парсити відразу кілька RSS - стрічок.
Копіюєте код і зберігаєте файл parse.php в один каталог з вашої сторінкою, на якій збираєтеся розмістити дані з RSS.
class rssReader {
var $ rssFeeds;
// Class constructor
function rssReader () {
// Here are the feeds - you can add to them or change them
$ This-gt; rssFeeds = array (
0 = gt; "Вставляєте сюди посилання вашого RSS фида",
1 = gt; "Другий фид",
2 = gt; "Третій",
3 = gt; "Четвертий",
4 = gt; "П`ятий і.т.д", // За аналогією копіюєте рядок і вставляєте скільки завгодно посилань на фіди
) -
}
function checkCache ($ rss_url) {
$ Ttl = 60 * 60 - // 60 secs / min for 60 minutes = 1 hour (360 secs)
$ Cachefilename = md5 (md5 ($ rss_url));
if (file_exists ($ cachefilename) (Time () - $ ttl lt; filemtime ($ cachefilename)))
{
// $ feed = file_get_contents ($ cachefilename) -
$ Ch = curl_init () -
curl_setopt ($ ch, CURLOPT_URL, $ cachefilename) -
curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, true) -
$ Feed = curl_exec ($ ch) -
curl_close ($ ch) -
}
else
{
// $ feed = file_get_contents ($ rss_url) -
$ Ch = curl_init () -
curl_setopt ($ ch, CURLOPT_URL, $ rss_url) -
curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, true) -
$ Feed = curl_exec ($ ch) -
curl_close ($ ch);
// $ fp = fopen ($ cachefilename, `w`);
$ Ch = curl_init () -
curl_setopt ($ ch, CURLOPT_URL, $ cachefilename) -
curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, true) -
$ Data = curl_exec ($ ch) -
curl_close ($ ch);
// $ xmldata = split ( " n", $ xmldata);
// foreach ($ xmldata as $ data) -
// fwrite ($ data, $ feed) -
// fclose ($ data) -
}
return $ feed;
}
//
// Creates HTML from a FeedID in the array
// it makes $ howmany entries
//
function createHtmlFromFeed ($ feedid, $ howmany) {
// Now we make sure that we have a feed selected to work with
$ Rss_url = $ this-gt; rssFeeds [$ feedid] -
if (! isset ($ rss_url)) $ rss_url = $ this-gt; rssFeeds [$ feedid] -
$ Howmany = intval ($ howmany);
$ This-gt; createHtmlFromRSSUrl ($ rss_url, $ howmany);
}
//
// Create HTML from an RSS URL
// it makes $ mowmany entires
//
function createHtmlFromRSSUrl ($ rss_url, $ howmany)
{
// Now we get the feed and cache it if necessary
$ Rss_feed = $ this-gt; checkCache ($ rss_url);
// Now we replace a few things that may cause problems later
$ Rss_feed = str_replace ( "", "", $ rss_feed) -
$ Rss_feed = str_replace ( " n", "", $ rss_feed);
// If there is an image node remove it, we are not going to use
// it anyway and it often contains a # `, $ rss_feed, $ title, PREG_SET_ORDER) -
preg_match_all ( `#(. *?) # `, $ Rss_feed, $ link, PREG_SET_ORDER) -
preg_match_all ( `#
//
// Now that the RSS / XML is parsed .. Lets Make HTML!
//
// If there is not at least one title, then the feed was empty
// it happens sometimes, so lets be prepared and do something
// reasonable
if (count ($ title) lt; = 1)
{
echo "No news at present, please check back later.
"-
}
else
{
// OK Here we go, this is the fun part
// Well do up the top 3 entries from the feed
for ($ counter = 1 $ counter lt; = $ howmany- $ counter ++)
{
// We do a reality check to make sure there is something we can show
if (! empty ($ title [$ counter] [1]))
{
// Then we`ll make a good faith effort to make the title
// valid HTML
$ Title [$ counter] [1] = str_replace ( "", "", $ title [$ counter] [1]) -
$ Title [$ counter] [1] = str_replace ( " `", "`", $ title [$ counter] [1]) -
$ Title [$ counter] [1] = str_replace ( " ", "?", $ Title [$ counter] [1]);
// The description often has encoded HTML entities in it, and
// we probably do not want these, so we`ll decode them
$ Description [$ counter] [1] = html_entity_decode ($ description [$ counter] [1]);
// Now we make a pretty page bit from the data we retrieved from
// the RSS feed. Remember the function FormatRow from the
// beginning of the program? Here we put it to use.
$ Row = $ this-gt; FormatEntry ($ title [$ counter] [1], $ description [$ counter] [1], $ link [$ counter] [1]);
// And now we`ll output the new page bit!
echo $ row-
}
}
}
}
function FormatEntry ($ title, $ description, $ link) {
return lt; lt;
{$ Title}
{$ Description}
Read more ...
HTML-
}
function GetrssFeeds () {
return $ this-gt; rssFeeds-
}
function SetrssFeeds ($ rssFeeds) {
$ This-gt; rssFeeds = $ rssFeeds-
}
} // END OF THE CLASS
?gt;
Тепер на вашій сторінці в тег head вставляєте виклик парсеру.
include ( "parser.php") -
$ MyRSS = new rssReader () -
?gt;
Потім ставите на потрібні вам місця на сторінці декілька тегів div і вставляєте в кожен з них код:
$ MyRSS-gt; createHtmlFromFeed (0,5) -
?gt;
У дужках перша цифра це номер фида (з файлу parser.php), друга - кількість новин з цього фида які будуть відображатися, в даному випадку номер фида -0, новостей- 5.
Далі за аналогією вставляєте в інший div:
$ MyRSS-gt; createHtmlFromFeed (1,5) -
?gt;
В цьому випадку будуть відображатися 5 новин з фида під номером 1.
Спеціально для Ячайнік, Інна Милосердова
{Mosloadposition cpanel}