Клуб разработчиков программных систем

Темы | Статьи | Рейтинги |

RSS для вебмастера

RSS для вебмастера. 

или как сделать RSS ленту за пять минут

С.Трофимов

 01.01.2007

RSS — семейство XML-форматов, предназначенных для описания лент новостей, анонсов статей, изменений в блогах и т. п. Информация из различных источников, представленная в формате RSS, может быть собрана, обработана и представлена пользователю в удобном для него виде специальными программами-агрегаторами

Wikipedia

На многих сайтах можно увидеть кнопки или , что означает, что на этом сайте доступна лента новостей в формате RSS. Читателям сайта такой сервис удобен, поскольку при помощи Rss-агрегаторов, например, Yandex.Lenta или Kanban.ru можно собрать собственную новостную ленту и читать новости с разных сайтов в одном месте или получать их на свой e-mail при помощи сервиса Rss2Email. Подробнее об RSS читайте, например, в Компьтерре.

В этой статье речь пойдет не об использовании RSS-лент и агрегаторов, а о том, как  быстро сделать новостную ленту на сайте при помощи программы RSS.PHP и MySql.

Начальные условия

Итак, у вас есть сайт, на котором есть поддержка PHP и работает база данных MySql (кстати, очень распространенное сочетание). Из базы, в которой хранятся тексты вашего блога или анонсы новостей и будем получать данные для нашей ленты. Лента будет строиться динамически, непосредственно при запросе, так что нужен только соответствующий скрипт. Вы можете написать его сами, но можете взять уже готовый здесь >>>

Немного теории

Для начала немного теории. Для нашей ленты будем использовать формат RSS 2.0, для тех кому интересно, направляю к описанию формата, который вы найдете здесь>>> . А мы будем использовать не все элементы, а только те, без которых действительно  не обойтись:

 

Элемент Описание
title Заголовок канала.
link Ссылка на главную страницу сайта.
description Описание канала.
language Язык, на котором написан канал. Например, ru - русский
copyright Копирайт
managingEditor Электронная почта редактора канала.
webMaster Электронная почта веб-мастера.
pubDate Дата публикации информации в канале.
lastBuildDate Время последнего изменения канала.
category Определяет категорию, к которой принадлежит канал.
Item Собственно содержимое канала. Должен быть хотя бы один элемент.

Item

Элемент Описание
title Заголовок
link Ссылка на полный текст
description Аннотация
category Категория
pubDate Дата публикации статьи. Некоторые агрегаторы не будут отображать статью, если указанная дата еще не настала. Но далеко не все.

Поскольку RSS - это подмножество XML, то мы должны получить в итоге примерно следующее:
  <?xml version="1.0" encoding="UTF-8" ?> 
  <rss version="2.0">
   <channel>
     <title>Моя лента новостей</title> 
     <link>http://www.моя_лента.ru</link> 
     <description>Самый лучший блог на свете</description> 
     <lastBuildDate>Sat, 30 Dec 2006 00:00:00 +0300</lastBuildDate> 
     <item>
         <title>С Новым Годом!</title> 
         <link>http://www.моя_лента.ru/new1.html</link> 
         <description>Поздравляем всех читателей с Новым Годом</description> 
     </item>
   </channel>
  </rss>
Если будете что-то менять в скрипте, то проверяйте его на соответствие стандарту на сервисах Feed Validator или RSS Validator


Запуск программы

Программа состоит из следующих файлов: rss.php - файл запуска, rss.inc - включаемый файл с описанием класса, conn.inc - файл с описанием параметров соединения с базой данных.

Для запуска программы измените данные о соединении с БД в файле conn.inс, измените параметры ленты в файле rss.php и спишите в любой удобный каталог на Вашем web сервере, хоть в корневой. Не забудьте проверить структуру данных базы MySql, для программы можно использовать например, такую:

CREATE TABLE BLOG ( ID int(11) NOT NULL default '0', title varchar(50) default NULL, description text default NULL, link varchar(200) default NULL, date date default NULL, category varchar(100) NOT NULL default '', ab varchar(10) NOT NULL default '', PRIMARY KEY (ID) ) TYPE=MyISAM;

после этого у вас будет лента с адресом http://www.ваш_сайт.ru/rss.php

Что дальше?

А теперь не забудьте поставить на видном месте кнопку , и добавить в страницы вашего сайта код между тегами <head>:
<link rel="alternate" href="http://www.ваш_сайт.ru/rss.php" type="application/xml" title="MyRSS">, чтобы браузеры понимали, что у вас есть лента. И, конечно же, зарегистрировать ленту в поисковой машине, например, http://blogs.yandex.ru/add.xml и в каталоге http://blogs.yandex.ru/add-catalogue.xml

Бесплатно скачать программу для создания RSS-ленты, Rss.php (3 Кб) можно здесь>>>

41
Статьи по теме:

Проиграна ли битва со спамом?
Настройка DISA для АТС Panasonic KX-TDA30
Сколько стоит Интернет для компании?
RSS для вебмастера
Intranet-как инструмент бизнеса

Связанные темы:
Программирование
Технологии
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |

Имя : Митя 01/03/2010 20:31
Сообщение:
выскакивает ошибка FROM blog failed, а главное, что ни одного комментария по-поводу сути проблемы этой ошибки. только "спасибо, всё получилось!" - поделились бы опытом
Ответить

Имя : Serg 30/03/2010 20:06
Сообщение:
если это для новичков статья так расскажите куда этот страшный код девать ?
"CREATE TABLE BLOG ( ID int(11) NOT NULL default '0', title varchar(50) default NULL, description text default NULL, link varchar(200) default NULL, date date default NULL, category varchar(100) NOT NULL default '', ab varchar(10) NOT NULL default '', PRIMARY KEY (ID) ) TYPE=MyISAM;"
Ответов: 2 Последний ответ: 27/10/2010 15:04

Имя : ukota 13/04/2010 10:10
Сообщение:
Создайте свою базу для рсс и не парьтесь,этот скрипт приведен чисто в пример что Вы на нем зациклились..
Ответить

Имя : Александр Город : Электросталь 03/07/2010 00:35
Сообщение:
А можно ли сделать rss для блога? Например, на яндексе.
Ответить

Имя : Юрий 02/08/2010 01:03
Сообщение:
Всё это смахивает на хитроумный способ кражи ваших логинов и паролей . Набрав в браузере http://www.ваш_сайт.ru/conn.inc любой сможет посмотреть ваш логин и пароль ,да и сравнив файл rss.php этого сайта http://www.caseclub.ru/rss.php с тем что здесь вас выложен ,открыв их в текстовом редакторе ,уверен 99,99% ,что автор статьи помогая вам создать свою RSS-ленту за пять минут ,получает взамен ваши логин и пароль .
Ответов: 1 Последний ответ: 02/08/2010 10:11

Имя : Олег Город : Нижний Новгород 01/10/2010 13:37
Сообщение:
В коде

<link rel="alternate" href="http://www.ваш_сайт.ru/rss.php" type="application/xml" title="MyRSS">

ошибка, нужно писать

type="application/rss+xml"

иначе браузер не видит ленту
Ответить

Имя : Михаил Город : Узбекистан, Самарканд 06/10/2010 17:56
Сообщение:
Вопрос такой :
Как можно вывести текст на сайт из чужого Rss канала без ссылок только тест...
Ответить

Имя : Игорь Город : Киев 05/12/2010 11:15
Сообщение:
Класс!!! Спасибо!!!
Ответить

Имя : takprosto 13/12/2010 13:01
Сообщение:
Не сразу конечно, но маленько помучившись получилось.
Ответить

Имя : Александр Город : Р 09/03/2011 18:08
Сообщение:
День добрый.А как сделать в базе таблицу rss/Уже всю голову сломал.
Ответить


| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Комментарии к статьям закрыты.

© Trofimov Sergey   http://www.caseclub.ru при цитировании ссылка обязательна.