Если вы являетесь владельцем сайта и до сих пор не знаете, что такое RSS, то эта статья создана для вас. Мы живём в мире скоростей и огромного потока информации. Умение правильно ориентироваться в ней и уметь выбрать главное — это не очень просто.
Зачастую чтобы найти нужную информацию, мы обходим кучу сайтов, пересматриваем десятки и сотни страниц, теряем много времени и трафика при этом. А ведь можно получить эту информацию напрямую в свой компьютер или на свой сайт. Для этого была разработана технология RSS. Что это такое?
RSS — это специальная категория XML формата для передачи (трансляции) анонсов новостей, статей, изменений и прочей оперативной информации с сайта. Обычно информация транслируется в укороченном виде со ссылкой на страницу первоисточника. Длина передачи устанавливается произвольно владельцем сайта. Источник называется RSS каналом, RSS фидом или RSS лентой.
В чём преимущества RSS? Во-первых, пользователь очень существенно экономит трафик и время, так как информация скачивается только самая последняя и нужная. Это очень важно, не правда ли? Зачем загружать страницу новостного портала, которая изобильно нагружена графикой, скриптами и flash анимацией, когда можно скачать всего несколько килобайт нужной информации. А теперь представьте, что вам необходимо получить самую свежую информацию с нескольких десятков сайтов. Сколько времени это займёт у вас? А с помощью RSS вы сможете получить её в единое целое в течение нескольких секунд. Во-вторых, RSS ленты можно транслировать на другие сайты, расширяя диапазон основного сайта и повышая тем самым его аудиторию.
На компьютере RSS ленты можно читать с помощью современных браузеров, которые поддерживают RSS формат. К ним относятся Mozilla Firefox, Opera и так далее. А можно использовать и специальные программы — RSS агрегаторы, которые собирают сами информацию из заданных RSS лент и предоставляют её пользователю в очень удобном виде. Как вариант можно ещё использовать и онлайн агрегаторы. Это специальные сайты, где пользователи могут также выбирать популярные RSS ленты и читать их. Как видите, выбор очень богат и эта технология стремительными темпами набирает популярность в Интернете благодаря своей оперативности и удобству. Поэтому она и называется RSS — Really Simple Syndication или По-настоящему Простое Получение Информации. В настоящее время последней версией RSS является версия RSS 2.0.
Как читать RSS вроде бы уже вам понятно, а как сделать RSS ленту у себя на сайте? Да очень просто. Необходимо создать специальную страницу в стандарте XML 1.0 и расположить её у себя на сайте. Можно рассмотреть это на примере, подразумевая, что сайт сделан на языке PHP и имеет базу данных MySQL для хранения новостей или статей.
Сначала рассмотрим структуру простого канала RSS.
<?xml version="1.0"?> <rss version="2.0"> <channel> <title>Здесь название канала</title> <link>Здесь ссылка на сайт http://www.oqbo.ru</link> <description>Здесь краткое описание данного канала</description> <lastBuildDate>Здесь дата последнего изменения в канале (RFC 2822)</lastBuildDate> <item> <title>Заголовок статьи1 или новости1</title> <link>Ссылка на эту статью или новость</link> <description>Текст статьи или новости в произвольном объёме</description> <pubDate>Дата опубликования данной статьи или новости</pubDate> </item> <item> <title>Заголовок статьи2 или новости2</title> <link>Ссылка на эту статью или новость</link> <description>Текст статьи или новости в произвольном объёме</description> <pubDate>Дата опубликования данной статьи или новости</pubDate> </item> <item> <title>Заголовок статьи3 или новости3</title> <link>Ссылка на эту статью или новость</link> <description>Текст статьи или новости в произвольном объёме</description> <pubDate>Дата опубликования данной статьи или новости</pubDate> </item> </channel> </rss>
То есть основные параметры RSS ленты задаются в верхней части. Сначала указывается, что это XML документ формата XML 1.0 и что это к тому же RSS 2.0. Затем указываются название ленты, ссылка на главную страницу сайта, краткое описание содержимого и дата последнего изменения в ленте. Затем идёт цикл самих статей или новостей в тегах <item>.
Даты все указываются в формате RFC 2822. Если дата в вашей базе данных хранится в другом формате, то её можно конвертировать с помощью функции PHP date();
$upldt = date("r",$yourdatefromdb);
(например, 2007-09-17 конвертируется в Mon, 17 Sep 2007 00:00:01 GMT)
Теперь попробуем это реализовать!
Файл index.php
<?php header("content-type: application/rss+xml"); include "func.php"; echo " <?xml version=\"1.0\" encoding=\"windows-1251\"?> <rss version=\"2.0\"> <channel> <title>Название ленты</title> <link>http://www.oqbo.ru</link> <description>Описание ленты</description> <language>ru</language>"; $result = dbquery("SELECT news_date FROM news ORDER BY news_date DESC LIMIT 0,1"); $data = dbarray($result); $lnd = $data['news_date']; $upldt = date("r",$lnd); // конвертация даты в формат RFC 2822 echo "<lastBuildDate>$upldt</lastBuildDate> "; $result = dbquery("SELECT * FROM news ORDER BY news_id DESC LIMIT 0,10"); while ($data = dbarray($result)) { echo "<item> "; echo "<title>".$data['news_name']."</title> "; echo "<link>http://www.oqbo.ru/read.php?block=".$data['news_id']."</link> "; echo "<description>".$data['news_anons']."</description> "; $nd = $data['news_date']; $updt = date("r",$nd); echo "<pubDate>$updt</pubDate> "; echo "<guid>http://www.oqbo.ru/read.php?block=".$data['news_id']."</guid> "; echo "</item> "; } echo "</channel> </rss>"; ?>
Файл func.php — для настроек связи с базой данных БД.
<?php // установки для связи с базой данных $db_host=""; // localhost скорее всего $db_user=""; // имя пользователя БД $db_pass=""; // пароль пользователя БД $db_name=""; // имя БД function dbconnect($db_host, $db_user, $db_pass, $db_name) { $db_connect = @mysql_connect($db_host, $db_user, $db_pass); $db_select = @mysql_select_db($db_name); if (!$db_connect) { die("Не могу установить связь с MySQL ".mysql_errno()." : ".mysql_error().""); } elseif (!$db_select) { die("Не могу выбрать базу данных MySQL ".mysql_errno()." : ".mysql_error().""); } } function dbquery($query) { $result = @mysql_query($query); if (!$result) { echo mysql_error(); return false; } else { return $result; } } function dbarray($query) { $result = @mysql_fetch_assoc($query); if (!$result) { echo mysql_error(); return false; } else { return $result; } } dbconnect($db_host, $db_user, $db_pass, $db_name); ?>
Вот и всё. Теперь заливаем оба файла в директорию rss, которую можно создать для этих целей. Ставим ссылку http://www.site.ru/rss/ в виде символа RSS и наша лента готова.
Успехов вам!
← Internet Explorer выпускает 9 бета-версию в сентябре | Набор в команду сайта! → |
---|
Комментарии: