XML RSS
使用 RSS,可以从一个网站将最新的网络内容分发到世界各地的成千上万个其他网站。
RSS 允许快速浏览新闻和更新。
RSS 文档示例
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title>W3Schools 主页</title>
<link>https://w3schools.org.cn</link>
<description>免费网页制作教程</description>
<item>
<title>RSS 教程</title>
<link>https://w3schools.org.cn/xml/xml_rss.asp</link>
<description>W3Schools 新的 RSS 教程</description>
</item>
<item>
<title>XML 教程</title>
<link>https://w3schools.org.cn/xml</link>
<description>W3Schools 新的 XML 教程</description>
</item>
</channel>
</rss>
什么是 RSS?
- RSS 代表 Really Simple Syndication (真正简单的联合)
- RSS 允许您联合发布您的网站内容
- RSS 定义了一种轻松共享和查看标题和内容的方式
- RSS 文件可以自动更新
- RSS 允许为不同站点进行个性化视图
- RSS 使用 XML 编写
为什么使用 RSS?
RSS 最初是为了显示选定的数据而设计的。
没有 RSS,用户将不得不每天检查您的网站以获取新更新。这可能对许多用户来说太耗时了。使用 RSS feed(RSS 通常称为新闻 feed 或 RSS feed),他们可以使用 RSS 聚合器(一个收集和整理 RSS feed 的网站或程序)更快地检查您的网站。
由于 RSS 数据量小且加载速度快,因此可以轻松地与手机或 PDA 等服务一起使用。
具有相似信息的 Web-ring 可以轻松地在其网站上共享数据,从而使它们更好、更有用。
谁应该使用 RSS?
很少更新网站的网站管理员不需要 RSS!
RSS 对于频繁更新的网站很有用,例如
- 新闻网站 - 列出带有标题、日期和描述的新闻
- 公司 - 列出新闻和新产品
- 日历 - 列出即将发生的事件和重要日期
- 网站更改 - 列出已更改的页面或新页面
RSS 的优点
使用 RSS 的一些好处如下:
选择您的新闻
使用 RSS,您可以选择查看您想要的新闻,那些您感兴趣且与您的工作相关的新闻。
删除不需要的信息
使用 RSS,您可以(终于)将需要的信息与不需要的信息(垃圾邮件)分开!
增加您的网站流量
使用 RSS,您可以创建自己的新闻频道,并将其发布到互联网上!
RSS 的历史
- 1997 - UserLand 的 Dave Winer 开发了 scriptingNews。RSS 诞生了。
- 1999 - Netscape 开发了 RSS 0.90(支持 scriptingNews)
- 1999 - Dave Winer 开发了 scriptingNews 2.0b1(包含 RSS 0.90 的功能)
- 1999 - Netscape 开发了 RSS 0.91(包含 scriptingNews 2.0b1 的大部分功能)
- 1999 - UserLand 放弃了 scriptingNews,只使用 RSS 0.91
- 1999 - Netscape 停止了其 RSS 开发
- 2000 - UserLand 发布了官方 RSS 0.91 规范
- 2000 - O'Reilly 开发了 RSS 1.0。该格式使用 RDF 和命名空间。
- 2000 - Dave Winer 在 UserLand 开发了 RSS 0.92
- 2002 - Dave Winer 在离开 UserLand 后开发了 RSS 2.0
- 2003 - 官方 RSS 2.0 规范发布
RSS 1.0 是唯一使用 W3C RDF(资源描述框架)标准开发的版本。
RDF 的理念是帮助创建语义网。然而,这对于普通用户来说并不重要,但通过使用 Web 标准,人们和应用程序将更容易地交换数据。
我应该使用哪个 RSS 版本?
RSS 0.91 和 RSS 2.0 比 RSS 1.0 更容易理解。我们的教程基于 RSS 2.0。
RSS 2.0 的语法规则非常简单且非常严格。
RSS 是 Web 标准吗?
RSS 没有官方标准。
- 大约 50% 的 RSS feed 使用 RSS 0.91
- 大约 25% 使用 RSS 1.0
- 最后的 25% 在 RSS 0.9x 版本和 RSS 2.0 之间分配
RSS 如何工作
RSS 用于在网站之间共享内容。
通过 RSS,您将您的内容注册给称为聚合器的公司。
因此,要参与其中:首先,创建一个 RSS 文档并将其保存为 .xml 扩展名。然后,将该文件上传到您的网站。接下来,注册一个 RSS 聚合器。每天,聚合器都会搜索已注册的网站以获取 RSS 文档,验证链接,并显示有关 feed 的信息,以便客户端可以链接到他们感兴趣的文档。
提示:阅读我们的 RSS 发布章节,以查看免费的 RSS 聚合服务。
RSS 示例
RSS 文档使用自描述且简单的语法。
这是一个简单的 RSS 文档
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title>W3Schools 主页</title>
<link>https://w3schools.org.cn</link>
<description>免费网页制作教程</description>
<item>
<title>RSS 教程</title>
<link>https://w3schools.org.cn/xml/xml_rss.asp</link>
<description>W3Schools 新的 RSS 教程</description>
</item>
<item>
<title>XML 教程</title>
<link>https://w3schools.org.cn/xml</link>
<description>W3Schools 新的 XML 教程</description>
</item>
</channel>
</rss>
文档中的第一行 - XML 声明 - 定义了 XML 版本和文档中使用的字符编码。在这种情况下,文档符合 XML 的 1.0 规范,并使用 UTF-8 字符集。
下一行是 RSS 声明,它标识这是一个 RSS 文档(在本例中为 RSS 版本 2.0)。
下一行包含 <channel> 元素。此元素用于描述 RSS feed。
<channel> 元素有三个必需的子元素:
- <title> - 定义频道的标题(例如,W3Schools 主页)
- <link> - 定义频道的超链接(例如,https://w3schools.org.cn)
- <description> - 描述频道(例如,免费网页制作教程)
每个 <channel> 元素可以有一个或多个 <item> 元素。
每个 <item> 元素定义 RSS feed 中的一篇文章或一个“故事”。
每个 <item> 元素有三个必需的子元素:
- <title> - 定义项目的标题(例如,RSS 教程)
- <link> - 定义项目的超链接(例如,https://w3schools.org.cn/xml/xml_rss.asp)
- <description> - 描述项目(例如,W3Schools 新的 RSS 教程)
最后,最后两行关闭了 <channel> 和 <rss> 元素。
RSS 中的注释
在 RSS 中编写注释的语法与 HTML 类似:
<!-- 这是一个 RSS 注释 -->
RSS 使用 XML 编写
因为 RSS 是 XML,请记住:
- 所有元素都必须有结束标签
- 元素区分大小写
- 元素必须正确嵌套
- 属性值必须始终加引号
RSS <channel> 元素
RSS <channel> 元素描述了 RSS feed。
看下面的 RSS 文档:
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title>W3Schools 主页</title>
<link>https://w3schools.org.cn</link>
<description>免费网页制作教程</description>
<item>
<title>RSS 教程</title>
<link>https://w3schools.org.cn/xml/xml_rss.asp</link>
<description>W3Schools 新的 RSS 教程</description>
</item>
</channel>
</rss>
如前所述,<channel> 元素描述了 RSS feed,并有三个必需的子元素:
- <title> - 定义频道的标题(例如,W3Schools 主页)
- <link> - 定义频道的超链接(例如,https://w3schools.org.cn)
- <description> - 描述频道(例如,免费网页制作教程)
<channel> 元素通常包含一个或多个 <item> 元素。每个 <item> 元素定义了 RSS feed 中的一篇文章或一个“故事”。
此外,<channel> 还有几个可选的子元素。我们将在下面解释最重要的元素。
<category> 元素
<category> 子元素用于为您的 feed 指定一个类别。
<category> 元素使得 RSS 聚合器可以根据类别对站点进行分组。
上面 RSS 文档的类别可以是:
<category>Web 开发</category>
<copyright> 元素
<copyright> 子元素通知有关版权材料的信息。
上面 RSS 文档的版权可以是:
<copyright>2006 Refsnes Data as. 版权所有.</copyright>
<image> 元素
<image> 子元素允许在聚合器显示 feed 时显示图像。
<image> 元素有三个必需的子元素:
- <url> - 定义图像的 URL
- <title> - 定义如果图像无法显示时显示的文本
- <link> - 定义提供频道的网站的超链接
上面 RSS 文档的图像可以是:
<image>
<url>https://w3schools.org.cn/images/logo.gif</url>
<title>W3Schools.com</title>
<link>https://w3schools.org.cn</link>
</image>
<language> 元素
<language> 子元素用于指定编写文档所使用的语言。
<language> 元素使得 RSS 聚合器可以根据语言对站点进行分组。
上面 RSS 文档的语言可以是:
<language>en-us</language>
<item> 元素
每个 <item> 元素定义了 RSS feed 中的一篇文章或一个“故事”。
看下面的 RSS 文档:
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title>W3Schools 主页</title>
<link>https://w3schools.org.cn</link>
<description>免费网页制作教程</description>
<item>
<title>RSS 教程</title>
<link>https://w3schools.org.cn/xml/xml_rss.asp</link>
<description>W3Schools 新的 RSS 教程</description>
</item>
</channel>
</rss>
如前所述,每个 <item> 元素定义了 RSS feed 中的一篇文章或一个“故事”。
每个 <item> 元素有三个必需的子元素:
- <title> - 定义项目的标题(例如,RSS 教程)
- <link> - 定义项目的超链接(例如,https://w3schools.org.cn/xml/xml_rss.asp)
- <description> - 描述项目(例如,W3Schools 新的 RSS 教程)
此外,<item> 还有几个可选的子元素。我们将在下面解释最重要的元素。
<author> 元素
<author> 子元素用于指定项目作者的电子邮件地址。
注意:为防止垃圾邮件,一些开发者不包含 <author> 元素。
上面 RSS 文档中项目的作者可以是:
<author>hege@refsnesdata.no</author>
<comments> 元素
<comments> 子元素允许一个项目链接到关于该项目的评论。
上面 RSS 文档中项目的评论可以是:
<comments>https://w3schools.org.cn/comments</comments>
<enclosure> 元素
<enclosure> 子元素允许将媒体文件包含在项目中。
<enclosure> 元素有三个必需的属性:
- url - 定义媒体文件的 URL
- length - 定义媒体文件的长度(以字节为单位)
- type - 定义媒体文件的类型
上面 RSS 文档中项目包含的媒体文件可以是:
<enclosure url="https://w3schools.org.cn/xml/rss.mp3"
length="5000" type="audio/mpeg" />
让您的 RSS Feed 在网上可用
拥有一个 RSS 文档是没有用的,如果其他人无法访问它。
现在是时候让您的 RSS 文件在网上可用了。步骤如下:
1. 为您的 RSS 文件命名。请注意,文件必须有 .xml 扩展名。
2. 验证您的 RSS 文件
3. 将 RSS 文件上传到您网站服务器上的您的 Web 目录。
4. 将小小的橙色 或
按钮复制到您的 Web 目录。
5. 将小小的橙色“RSS”或“XML”按钮放在您将向全世界提供 RSS 的页面上(例如,在您的主页上)。然后将一个指向该按钮的链接添加到 RSS 文件。代码看起来会像这样:
<a href="https://w3schools.org.cn/xml/myfirstrss.xml">
<img src="https://w3schools.org.cn/xml/pic_rss.gif" width="36" height="14">
</a>。
6. 将您的 RSS feed 提交到 RSS Feed 目录(您可以在 Google 或 Yahoo 上搜索“RSS Feed Directories”)。注意!您的 feed 的 URL 不是您的主页 URL,而是您的 feed 的 URL,例如“https://w3schools.org.cn/xml/myfirstrss.xml”。
7. 向主要搜索引擎注册您的 feed
8. 更新您的 feed - 注册您的 RSS feed 后,您必须确保您经常更新您的内容,并且您的 RSS feed 始终可用。
我可以自己管理我的 RSS Feed 吗?
确保您的 RSS feed 按您想要的方式工作是最好的方法,那就是自己管理。
但是,这可能非常耗时,尤其是对于更新量很大的页面。
另一种选择是使用第三方自动化 RSS。
自动化 RSS
对于只需要为个人网站提供 RSS feed 的用户,一些最受欢迎的提供内置 RSS 服务的博客(Web Log)管理器是:
RSS 阅读器
RSS 阅读器用于阅读 RSS Feed!
RSS 阅读器可用于许多不同的设备和操作系统。
有很多不同的 RSS 阅读器。有些作为 Web 服务运行,有些仅限于 Windows(或 Mac、PDA 或 UNIX)。
- QuiteRSS - 一个开源、跨平台的 RSS/Atom 新闻 feed 阅读器
- FeedReader - 一个简单、直接的 feed 阅读器,可以轻松处理大量 feed
提示:大多数浏览器都有内置的 RSS 阅读器。如果您访问提供 RSS feed 的网站,您会在地址栏或工具栏中看到一个 RSS 图标 。点击图标查看不同 feed 的列表。选择您想要阅读的 feed。
我有一个 RSS 阅读器。现在怎么办?
点击您想阅读的 RSS feed 旁边的小 或
按钮。复制浏览器窗口中获得的 URL,并将其粘贴到您的 RSS 阅读器中。
RSS 参考
The <channel> Element
“Element”列中的链接指向有关每个特定元素的更多信息。
元素 | 描述 |
---|---|
<category> | 可选。为 feed 定义一个或多个类别 |
<cloud> | 可选。注册将立即收到 feed 更新通知的进程 |
<copyright> | 可选。通知有关版权材料 |
<description> | 必需。描述频道 |
<docs> | 可选。指定 feed 中使用的格式文档的 URL |
<generator> | 可选。指定用于生成 feed 的程序 |
<image> | 可选。允许在聚合器显示 feed 时显示图像 |
<language> | 可选。指定 feed 编写所使用的语言 |
<lastBuildDate> | 可选。定义 feed 内容的最后修改日期 |
<link> | 必需。定义频道的超链接 |
<managingEditor> | 可选。定义 feed 内容编辑者的电子邮件地址 |
<pubDate> | 可选。定义 feed 内容的最后发布日期 |
<rating> | 可选。feed 的 PICS 评级 |
<skipDays> | 可选。指定聚合器应跳过更新 feed 的日期 |
<skipHours> | 可选。指定聚合器应跳过更新 feed 的小时 |
<textInput> | 可选。指定应与 feed 一起显示的文本输入字段 |
<title> | 必需。定义频道的标题 |
<ttl> | 可选。指定 feed 在从源刷新之前可以缓存的时间(分钟) |
<webMaster> | 可选。定义 feed 的网站管理员的电子邮件地址 |
<item> 元素
元素 | 描述 |
---|---|
<author> | 可选。指定项目的作者的电子邮件地址 |
<category> | 可选。定义项目所属的一个或多个类别 |
<comments> | 可选。允许项目链接到关于该项目的评论 |
<description> | 必需。描述项目 |
<enclosure> | 可选。允许将媒体文件包含在项目中 |
<guid> | 可选。定义项目的唯一标识符 |
<link> | 必需。定义项目的超链接 |
<pubDate> | 可选。定义项目的最后发布日期 |
<source> | 可选。指定项目的第三方来源 |
<title> | 必需。定义项目的标题 |