RSS 解析:全球内容分发的利器及使用技巧

使用 RSS 可以将最新的网络内容从一个网站分发到全球数千个其他网站。

RSS 允许快速浏览新闻和更新。

RSS 文档示例

xml 复制代码
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">

<channel>
  <item>
  </item>
  <item>
  </item>
</channel>

</rss>

什么是 RSS?

RSS 代表着真正简单的聚合

RSS 允许您对站点内容进行聚合

RSS 定义了一种轻松分享和查看标题和内容的方法

RSS 文件可以自动更新

RSS 允许为不同站点提供个性化视图

RSS 是用 XML 编写的

为什么使用 RSS?

RSS 旨在显示选定的数据。

如果没有 RSS,用户将不得不每天检查您的网站是否有更新。这对许多用户来说可能太耗时了。使用 RSS 订阅(RSS 经常被称为新闻订阅或 RSS 订阅),他们可以使用 RSS 聚合器(收集和排序 RSS 订阅的站点或程序)更快地检查您的网站。

由于 RSS 数据量小且加载速度快,因此可以轻松地与手机或 PDA 等服务一起使用。

具有类似信息的网络环可以轻松地共享其网站上的数据,以使其变得更好且更有用。

谁应该使用 RSS?

很少更新其网站的网站管理员不需要 RSS!

对于经常更新的网站,如:

  • 新闻网站 - 列出带有标题,日期和描述的新闻
  • 公司 - 列出新闻和新产品
  • 日历 - 列出即将发生的事件和重要日期
  • 网站更改 - 列出更改的页面或新页面

RSS 的好处

以下是使用 RSS 的一些好处:

选择您的新闻

使用 RSS,您可以选择查看您感兴趣且与您的工作相关的新闻。

删除不想要的信息

使用 RSS,您可以(最终)将想要的信息与不想要的信息(垃圾邮件)分开!

增加您的网站流量

使用 RSS,您可以创建自己的新闻频道,并将其发布到互联网上!

RSS 的历史

  • 1997年 - UserLand 的 Dave Winer 开发了 scriptingNews。RSS 诞生了
  • 1999年 - 网景开发了 RSS 0.90(支持 scriptingNews)
  • 1999年 - Dave Winer 开发了 scriptingNews 2.0b1(其中包含 RSS 0.90 功能)
  • 1999年 - 网景开发了 RSS 0.91(其中包含大多数来自 scriptingNews 2.0b1 的功能)
  • 1999年 - UserLand 摒弃了 scriptingNews,仅使用 RSS 0.91
  • 1999年 - 网景停止了他们的 RSS 开发
  • 2000年 - UserLand 发布了官方的 RSS 0.91 规范
  • 2000年 - O'Reilly 开发了 RSS 1.0。此格式使用了 RDF 和命名空间。
  • 2000年 - UserLand 的 Dave Winer 开发了 RSS 0.92
  • 2002年 - 离开 UserLand 后,Dave Winer 开发了 RSS 2.0
  • 2003年 - 发布了官方的 RSS 2.0 规范

RDF 背后的想法是帮助创建语义 Web。然而,对于普通用户来说,这并不太重要,但是通过使用 Web 标准,人们和应用程序之间交换数据将更容易。

应该使用哪个 RSS 版本?

RSS 0.91 和 RSS 2.0 比 RSS 1.0 更易于理解

RSS 2.0 的语法规则非常简单且非常严格。

RSS 是否是 Web 标准?

RSS 没有官方标准。

大约50%的所有 RSS 订阅使用 RSS 0.91

约25%使用 RSS 1.0

最后25%分为 RSS 0.9x 版本和 RSS 2.0

RSS 如何工作?

RSS 用于在网站之间共享内容。

使用 RSS,您可以向称为聚合器的公司注册您的内容。

因此,要成为其中的一部分:首先,创建一个 RSS 文档并将其保存为 .xml 扩展名。然后,将文件上传到您的网站。接下来,注册一个 RSS 聚合器。每天,聚合器搜索已注册的网站以查找 RSS 文档,验证链接,并显示有关源的信息,以便客户可以链接到他们感兴趣的文档。

XML RSS

RSS 文档使用自描述和简单的语法。

以下是一个简单的 RSS 文档:

xml 复制代码
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">

<channel>
  <item>
  </item>
</channel>

</rss>

文档中的第一行 - XML声明 - 定义了文档中使用的 XML 版本和字符编码。在这种情况下,文档符合 XML 1.0 规范,并使用 UTF-8 字符集。

下一行是 RSS 声明,它标识这是一个 RSS 文档(在本例中是 RSS 版本 2.0)。

接下来的一行包含 <channel> 元素。该元素用于描述 RSS 源。

<channel> 元素有三个必需的子元素:

  • <title> - 定义频道的标题
  • <link> - 定义到频道的超链接
  • <description> - 描述频道

每个 <channel> 元素可以有一个或多个 <item> 元素。

每个 <item> 元素定义了 RSS 源中的一篇文章或"故事"。

<item> 元素有三个必需的子元素:

  • <title> - 定义项目的标题
  • <link> - 定义到项目的超链接
  • <description> - 描述项目

最后,最后两行关闭了 <channel><rss> 元素。

RSS 中的注释

在 RSS 中编写注释的语法与 HTML 类似:

xml 复制代码
<!-- 这是一个 RSS 注释 -->

RSS 是用 XML 编写的

因为 RSS 是 XML,所以请记住:

  • 所有元素必须有一个闭合标签
  • 元素区分大小写
  • 元素必须被正确嵌套
  • 属性值必须始终用引号引起来

RSS 中的 <channel> 元素

RSS <channel> 元素描述了 RSS 源。

看以下 RSS 文档:

xml 复制代码
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">

<channel>
  <item>
  </item>
</channel>

</rss>

如前所述,<channel> 元素描述了 RSS 源,并有三个必需的子元素:

  • <title> - 定义频道的标题
  • <link> - 定义到频道的超链接
  • <description> - 描述频道

<channel> 元素通常包含一个或多个 <item> 元素。每个 <item> 元素定义了 RSS 源中的一篇文章或"故事"。

此外,<channel> 还有几个可选的子元素。我们将在下面解释最重要的几个。

<category> 元素

<category> 子元素用于为您的源指定一个类别。

<category> 元素使得 RSS 聚合器可以根据类别对站点进行分组。

上述 RSS 文档的类别可能是:

xml 复制代码
<category>Web开发</category>

<copyright> 元素

<copyright> 子元素通知版权材料。

上述 RSS 文档的版权可以是:

xml 复制代码
<copyright>2006 Refsnes Data as. 版权所有。</copyright>

<image> 元素

<image> 子元素允许在聚合器呈现源时显示图像。

<image> 元素有三个必需的子元素:

  • <url> - 定义图像的 URL
  • <title> - 如果无法显示图像,则定义要显示的文本
  • <link> - 定义到提供该频道的网站的超链接

元素

<language>子元素用于指定文档所使用的语言。

<language>元素使得 RSS 聚合器可以根据语言对站点进行分组。

上述 RSS 文档的语言可能是:

xml 复制代码
<language>en-us</language>

<item>元素

每个 <item> 元素定义了 RSS 源中的一篇文章或"故事"。

看以下 RSS 文档:

xml 复制代码
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">

<channel>
  <item>
  </item>
</channel>

</rss>

如前所述,每个 <item> 元素定义了 RSS 源中的一篇文章或"故事"。

<item> 元素有三个必需的子元素:

  • <title> - 定义项目的标题
  • <link> - 定义到项目的超链接
  • <description> - 描述项目

此外,<item> 还有几个可选的子元素。我们将在下面解释最重要的几个。

<author>元素

<author> 子元素用于指定项目作者的电子邮件地址。

注意:为了防止垃圾邮件,一些开发者不包括 <author> 元素。

上述 RSS 文档中项目的作者可能是:

xml 复制代码
<author>hege@refsnesdata.no</author>

<comments> 元素

<comments> 子元素允许项目链接到关于该项目的评论。

<enclosure> 元素

<enclosure> 子元素允许在项目中包含媒体文件。

<enclosure> 元素有三个必需的属性:

  • url - 定义媒体文件的 URL
  • length - 定义媒体文件的长度(以字节为单位)
  • type - 定义媒体文件的类型

将您的 RSS 源放在网络上

如果其他人无法访问您的 RSS 文档,那么拥有 RSS 文档就没有用了。

现在是时候将您的 RSS 文件放在网络上了。以下是步骤:

  1. 为您的 RSS 文件命名。请注意,文件必须具有 .xml 扩展名。

  2. 验证您的 RSS 文件

  3. 将 RSS 文件上传到您的 Web 服务器上的 Web 目录中。

  4. 将小橙色的 RSS 徽标或 XML 徽标按钮复制到您的 Web 目录中。

  5. 将小橙色"RSS"或"XML"按钮放在您将向世界提供 RSS 的页面上(例如您的主页)。然后在按钮上添加一个链接,该链接指向 RSS 文件。代码将类似于:

  6. 将您的 RSS 源提交给 RSS Feed 目录(您可以在 Google 或 Yahoo 上搜索"RSS Feed 目录")。注意!您的反馈 URL 不是您的主页,而是您的反馈 URL

  7. 将您的反馈注册到主要搜索引擎:

  1. 更新您的反馈 - 在注册您的 RSS 反馈后,您必须确保定期更新您的内容,并确保您的 RSS 反馈一直可用。

我可以自己管理我的 RSS 反馈吗?

确保您的 RSS 反馈按照您的期望工作的最佳方法是

自己管理它。

然而,这可能非常耗时,特别是对于更新频繁的页面。

另一种选择是使用第三方自动化的 RSS。

自动化的 RSS

对于只需要个人网站的用户来说,一些提供内置 RSS 服务的最受欢迎的博客(Web Log)管理器包括:

  • Wordpress
  • Blogger
  • Radio

RSS阅读器

RSS阅读器用于阅读 RSS 源!

对于许多不同的设备和操作系统,都有各种不同的 RSS 阅读器。

有很多不同的 RSS 阅读器。有些作为 Web 服务,有些限于 Windows(或 Mac、PDA 或 UNIX):

  • QuiteRSS - 一个开源、跨平台的 RSS/Atom 新闻源阅读器
  • FeedReader - 一个简单、直接的源阅读器,可以轻松处理大量的源

提示:大多数浏览器都有内置的 RSS 阅读器。如果您访问提供 RSS 源的网站,您将在地址栏或工具栏中看到一个 RSS 图标。单击该图标即可查看不同的源列表。选择您想要阅读的源。

我有一个 RSS 阅读器。现在该怎么办?

单击您想要阅读的 RSS 源旁边的小 RSS 徽标或 XML 徽标按钮。复制您在浏览器窗口中获得的 URL,并将其粘贴到您的 RSS 阅读器中。

RSS参考
<channel> 元素

"元素"列中的链接指向每个特定元素的更多信息。

元素 描述
<category> 可选。为源定义一个或多个类别
<cloud> 可选。注册进程以立即通知更新源的更新
<copyright> 可选。通知有关受版权保护的材料
<description> 必需。描述频道
<docs> 可选。指定用于源中使用的格式的文档的 URL
<generator> 可选。指定用于生成源的程序
<image> 可选。允许在聚合器呈现源时显示图像
<language> 可选。指定源的语言
<lastBuildDate> 可选。定义源内容的最后修改日期
<link> 必需。定义到频道的超链接
<managingEditor> 可选。定义源内容的编辑的电子邮件地址
<pubDate> 可选。定义源内容的最后发布日期
<rating> 可选。源的 PICS 评级
<skipDays> 可选。指定聚合器应跳过更新源的日期
<skipHours> 可选。指定聚合器应跳过更新源的小时
<textInput> 可选。指定应与源一起显示的文本输入字段
<title> 必需。定义频道的标题
<ttl> 可选。指定源可以在从源刷新之前缓存的分钟数
<webMaster> 可选。定义源的 Web 主管的电子邮件地址

<item> 元素

元素 描述
<author> 可选。指定项目的作者的电子邮件地址
<category> 可选。定义项目所属的一个或多个类别
<comments> 可选。允许项目链接到有关该项目的评论
<description> 必需。描述项目
<enclosure> 可选。允许在项目中包含媒体文件
<guid> 可选。为项目定义唯一标识符
<link> 必需。定义到项目的超链接
<pubDate> 可选。定义项目的最后发布日期
<source> 可选。指定项目的第三方来源
<title> 必需。定义项目的标题

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎点赞、收藏、关注

相关推荐
7yewh11 分钟前
嵌入式硬件实战提升篇(一)-泰山派RK3566制作多功能小手机
linux·arm开发·驱动开发·嵌入式硬件·物联网·智能手机·硬件架构
明辉光焱22 分钟前
[Electron]总结:如何创建Electron+Element Plus的项目
前端·javascript·electron
YRr YRr37 分钟前
ubuntu ros 解决建完图后 保存的地图非常小的问题
linux·运维·ubuntu
牧码岛42 分钟前
Web前端之汉字排序、sort与localeCompare的介绍、编码顺序与字典顺序的区别
前端·javascript·web·web前端
tumu_C44 分钟前
C++模板特化实战:在使用开源库boost::geometry::index::rtree时,用特化来让其支持自己的数据类型
c++·开源
AI服务老曹1 小时前
不仅能够实现前后场的简单互动,而且能够实现人机结合,最终实现整个巡检流程的标准化的智慧园区开源了
大数据·人工智能·深度学习·物联网·开源
脸ル粉嘟嘟1 小时前
常用命令之Linux&Oracle&Hive&Python
linux·hive·oracle
william8231 小时前
Information Server 中共享开源服务中 kafka 的__consumer_offsets目录过大清理
分布式·kafka·开源
Goboy1 小时前
工欲善其事,必先利其器;小白入门Hadoop必备过程
后端·程序员
Wils0nEdwards1 小时前
Leetcode 整数转罗马数字
linux·python·leetcode