【转载】RSS原理、创建及使用

最近需要接触RSS Feed,知其然还要知其所以然。

https://www.xul.fr/en-xml-rss.html#spec

本文转自RSS原理、创建及使用——Denis Sureau

很郁闷的是Google Reader倒了才开始使用RSS阅读,InoReader是一个不错的替代。对于RSS的原理想要有个了解,但是网上的资料说得不是很清晰。有一篇CSDN的RSS原理和实现博文也不错,在Wiki的Reference上也发现一篇不错的文章。翻译如下:

什么是RSS?

RSS是一种共享消息的格式规范,这种格式规范定义在XML 1.0版本中。你可以通过这种格式传递信息给其他人,可以通过这种格式从各种来源接受消息。一个网站所提供的信息记录在特定XML文件中称为RSS feed。

最近的浏览器可以直接阅读RSS文件,但需要使用一个特殊的RSS阅读器或聚合器。

RSS历史

RSS由网景公司在1999年开发。第一个版本为 RSS 0.90。2000年,UserLand公司改进发布了正式的 0.91 规范。

2000年,O'Reilly 开发出基于RDF的RSS 1.0 规范,由RSS-DEV团队进一步维护,命名为RDF Site Summary。

2002年,Dave Winer(UserLand前员工)在哈佛大学开发出RSS 2.0.

该页面是基于Really Simple Syndication,哈佛大学的2.01规范。(This page is based on the Really Simple Syndication, 2.01 specification from Harvard.此句不知如何翻译,望有高人指点)。

为什么使用RSS?

以计算机可以处理的特定格式来获得网站提供的信息或新闻。将获得信息或新闻展示在网页上,或者供自己阅读。

对于内容的提供者,RSS允许他发送自己网站的信息和新闻。

RSS如何工作?

RSS系统通过网络发布文章和新闻的原理非常简单:

   1. 首先,我们有一些想要在其他网页展示的页面,这些页面称为RSS feed。

   2. RSS feed由一个XML文件定义,该XML文件包括每个想要展示页面的URL,标题和摘要。

   3. 想要在自己电脑上阅读RSS feed,只需使用RSS阅读器或者浏览器,将这些feed添加到你的阅读器中。

   4. 其他接收者网站想要显示 feed 须要从提供者处获得RSS文件,提取URL页面,并显示标题和摘要。这些工作可以通过PHP脚本完成。

   5. 当有人想要访问接收者网站时,启动脚本,调用从提供者网站获取的RSS文件,抽取信息从而显示新闻列表

   6. 通过点击新闻列表中的某一项,可以访问该新闻提供者的原网页。

RSS文档结构

RSS文档是一个XML文件和一个通用的2.0规范的“RSS”标签容器。

这个文件拥有至少一个channel。内容为网站所提供的信息。

channel提供一些文章和数据来自于相同或者不同的网站。

怎样使用RSS?

  1-在桌面应用中使用RSS

RSS feed 通过Internet Explorer 7 或 Firefox 2显示。一个RSS阅读器(或聚合器)也可以被安装在操作系统中(Windows,Linux,Mac OS等等)。在参考资料中,有一个通过XUL构建。

获取的内容取决于读者,添加一个feed进列表,也许只需要点击“添加”按钮来获得RSS feed的URL。

  2 -在网站中使用feed

RSS feed显示为标题的列表(或者可选的摘要)。点击特定标题展示新闻内容。标题为自动更新。每当页面加载RSS文件并且从中抽取数据时,PHP或者其他语言脚本建立新的列表并显示在页面上。在参考资料中提供了一些这类工具的链接。

怎样通过RSS feed发布新闻?

有几种生成RSS feed的方法。

     · 使用PHP的RSS库。PHP脚本能从标题和页面内容的描述生成XML文件。

     · 使用特殊的工具从页面抽取信息。

给出一个XML文件的访问链接如右:

<a type="application/rss+xml" href="http://ww.xul.fr/rss.xml">

RSS feed for this site

</a>

feed在Atom格式下使用"application/atom+xml"代替。
用你网站的域名替换xul.fr。
名词解释
   · Feed. "item"标签的集合,信息或者新闻的集合。
   · RDF. 见本网站的RDF页面
   · Syndicated. Published through an RSS feed.
   · Syndication. Publishing data by RSS feeds.
主要的RSS标签
rss. 通用容器
channel. 分布的频道(A distributing channel)。它包含几个描述性的标签和一个或以上item。

<rss version="2.0">

<channel>

...

</channel>

</rss>

  channel中必要的标签

    · title. channel的标题。应该包含名字。

    · link. 提供该channel的网站URL。

    · description. 提供者信息的摘要。

    · item. 至少需要一个item标签,提供内容。

<rss version="2.0">

<channel>

<title>XUL</title>

<link>http://www.xul.fr</link>

<description></description>

<item>

...

</item>

</channel>

</rss>

  channel中可选的标签

    · language. 文本中使用的自然语言(英语、汉语等)。

    · docs.  提供文件格式的文档的位置,可能是哈佛大学。

    · webMaster. E-mail

    · pubDate. 发布时间。

    · 等等。更多参加规范文档。

 channel中的item

每个item标签必须包含下列标签:

    · title. 文章的标题。

    · link. 文章的链接。

    · description. 文章的摘要。

<item>

<title>XUL news</title>

<link>http://www.xul.fr/index.php</link>

<description>... some text...</description>

</item>

 一些可选的item标签:

    · pubDate. 发布时间。

    · guid. 指定item的唯一性的字符串

    · cate gory. 文章的分类

    · 等等

按步建立个人RSS feed

首先,这仅仅是一个简单的文本文件,通过任何文本编辑器创建。但使用一个XML编辑器将会更加方便。(参见"software"页面)。该文件名字可以是"feed.xml"。

整体结构如下:

<?xml version="1.0" ?>

<rss version="2.0">

<channel>

</channel>

  1)通过channel标签定义源

channel对于你的所有RSS feed将是一样的。下列标签是必须的:

-title:你网站的名称,可能是你主页的标题标签内容。

-link:你网站的URL,例如:http://www.xul.fr

-description:你网站的描述,大约200个字符,可能是你主页标题区域的description标签的内容。

<channel>

<title>XUL and XML</title>

<link>http://www.xul.fr/en/</link>

<description>XML graphical interface etc...</description>

</channel>

  2)添加图像

这是一个可选项。设计一个小的图表(例如88x31),使用通用格式(gif, jpg, png)并且把它放在RSS文件的同一个目录下。

"image"标签是channel标签的子元素。

-url 是图像的地址

-link 是点击图像时链接的地址

<channel>

<title> </title>

<link> </link>

<image>

<url>http://www.xul.fr/xul.gif</url>

<link>http://www.xul.fr/en/index.php</link>

</image>

</channel>

  3)添加新消息

现在,我们将会添加一个网页来显示信息。由"item"标签实现,"item"标签是channel的子元素和必要组件。

-title:文章的标题

-link:页面的URL

-description:文章的摘要,大约200个字符

<item>

<title>News of today</title>

<link>http://www.xul.fr/en-xml-rss.html</link>

<description>All you need to know about RSS</description>

</item>

  4)添加更多item

更多item可以被添加到这个channel

  5)上传文件

将feed.xml文件放到你的网站中,和其他网页放在一起。

  6)验证文件

你也许需要使用在线的RSS feed validator

  7)使RSS可获得

在主页里添加RSS按钮。点击按钮需要显示你所创造的XML文件

<a href="http://www.xul.fr/rss.xml">

<img src="rss.gif">

</a>

  8)更新feed

你仅需要添加item标签来发布更多的文章,删除旧的item标签来保持总文章数一定。

例子:完整的文件

<?xml version="1.0" ?>

<rss version="2.0">

<channel>

<title>Ajax and XUL</title>

<link>http://www.xul.fr/en/</link>

<description>XML graphical interface etc...</description>

<image>

<url>http://www.xul.fr/xul-icon.gif</url>

<link>http://www.xul.fr/en/index.php</link>

</image>

<item>

<title>News of today</title>

<link>http://www.xul.fr/en-xml-rss.html</link>

<description>All you need to know about RSS</description>

</item>

<item>

<title>News of tomorrows</title>

<link>http://www.xul.fr/en-xml-rdf.html</link>

<description>And now, all about RDF</description>

</item>

</channel>

</rss>

你可以下载例子,并且使用它作为模板,记得用你网站的域名替换xul.fr。

浏览器怎么知道网站上有RSS feed?

你已经创建了RSS feed,并且它现在存储在你网站的根目录下。当浏览器进入主页时(或者其他你想要的页面),你必须让它知道这个文件的存在和它的位置。 Firefox 会在URL区域显示feed图标,而 Internet Explorer会在控制栏显示。

为了激活它们,将下面的代码插入你网页的源代码中 <head> </head>部分的任意位置。

<link rel="alternate" type="application/rss+xml"

href="http://www.xul.fr/rss.xml" title="Your title">

用你网站的域名下的RSS feed文件位置替换此URL。

如果文件是atom格式,用atom+xml替换rss+xml

规范和工具

文档规范

生成并显示RSS feed的工具

  • Feed Validator. 输入你文件的URL来检查feed。
  • Bioloide. PHP编写的在线RSS生成器和编辑器
  • RSS Reader. PHP函数用于在一个网页上显示本地或远程的RSS feed。
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值