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

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

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

RSS 文档示例

<?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 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 类似:

<!-- 这是一个 RSS 注释 -->

RSS 是用 XML 编写的

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

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

RSS 中的 <channel> 元素

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

看以下 RSS 文档:

<?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 文档的类别可能是:

<category>Web开发</category>

<copyright> 元素

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

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

<copyright>2006 Refsnes Data as. 版权所有。</copyright>

<image> 元素

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

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

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

元素

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

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

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

<language>en-us</language>

<item>元素

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

看以下 RSS 文档:

<?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 文档中项目的作者可能是:

<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. 将您的反馈注册到主要搜索引擎:

  • Google - http://www.google.com/submityourcontent/website-owner
  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,关注后即可获取最新文章推送

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/26609.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

kotlin 中的数字

以下均来自官方文档&#xff1a; 一、整数类型 1、kotlin中内置的整数类型&#xff0c;有四种不同大小的类型&#xff1a; 类型存储大小&#xff08;比特数&#xff09;最小值最大值Byte8-128127Short16-3276832767Int32-2,147,483,648 (-231)2,147,483,647 (231 - 1)Long64…

rsync常用命令

从远程服务器复制文件到本地 语法&#xff1a; rsync [options] userremote_host:/path/to/remote/source /path/to/local/destination示例&#xff1a; rsync -avz -e ssh userremote_host:/path/to/remote/source/ /path/to/local/destination/从本地复制文件到远程服务器…

Qt | QTextStream 类(文本流)

01、字符编码 1、怎样将字符转换为二进制形式进行存储,存在一个编码的问题,通常都需进行两次编码, 2、字符集:字符的第一次编码是将字符编码为与一个数值(如一个 10 进制整数)相对应,比如把字符 A 编码为 10 进制的 65,B 编码为 66 等。把每一个字符都编码为与一个数值…

现货黄金交易多少克一手?国内外情况大不同

如果大家想参与国际市场上的现货黄金交易&#xff0c;就应该从它交易细则的入手&#xff0c;先彻底认识这个品种&#xff0c;因为它是来自欧美市场的投资方式&#xff0c;所以无论是从合约的计的单位&#xff0c;计价的货币&#xff0c;交易的具体时间&#xff0c;以及买卖过程…

AMS(ActivityManagerService)源码解析2,Android应用是如何被启动的

一个Android应用是如何被启动的 前言总结1. 启动Application1.1 拉起一个新的进程1.2 启动Application1.3 AMS阶段1.4 创建Instrumentation和Application 2. 启动Activity2.1 回到AMS&#xff0c;启动第一个Activity 参考资料 前言 基于源码API 28&#xff0c;30以后的版本启动…

【Python/Pytorch - 网络模型】-- 手把手搭建3D VGG感知损失模型

文章目录 文章目录 00 写在前面01 基于Pytorch版本的3D VGG代码02 论文下载 00 写在前面 感知损失&#xff1a;对于提升图片的肉眼可见细节&#xff0c;效果十分明显&#xff1b;对于一些指标如&#xff08;SSIM、PSNR&#xff09;这些&#xff0c;效果不明显。 在01中&…

springboot集成swagger、knife4j

1. 集成swagger2 1.1 引入依赖 <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</vers…

【Three.js】知识梳理十九:线性雾(Fog)、指数雾(FogExp2)和范围雾(RangeFog)

雾是3D图形中创建深度和氛围的重要工具。Three.js提供了多种类型的雾&#xff1a;线性雾&#xff08;THREE.Fog&#xff09;&#xff0c;指数雾&#xff08;THREE.FogExp2&#xff09;和范围雾&#xff08;RangeFog&#xff09;。本文将探讨这三种类型的雾&#xff0c;通过代码…

MATLAB神经网络---序列输入层sequenceInputLayer

序列输入层sequenceInputLayer 描述一&#xff1a; sequenceinputlayer是Matlab深度学习工具箱中的一个层&#xff0c;用于处理序列数据输入。它可以将输入数据转换为序列格式,并将其传递给下一层进行处理。该层通常用于处理文本、语音、时间序列等类型的数据。在使用该层时&…

【大数据】Spark使用大全:下载安装、RDD操作、JAVA编程、SQL

目录 前言 1.下载安装 2.RDD操作 3.JAVA编程示例 4.Spark SQL 前言 本文是作者大数据系列中的一文&#xff0c;专栏地址&#xff1a; https://blog.csdn.net/joker_zjn/category_12631789.html?spm1001.2014.3001.5482 该系列会成体系的聊一聊整个大数据的技术栈&…

stable-diffusion 3 体验部署流程(ComfyUI)

环境准备 下载及简介 git clone https://huggingface.co/stabilityai/stable-diffusion-3-medium SD3 checkpoints&#xff1a; sd3_medium_incl_clips.safetensors (5.5GB)sd3_medium_incl_clips_t5xxlfp8.safetensors (10.1GB)sd3_medium.safetensors (4.3GB) 前两个可以…

文本相似度的三种算法

​为了实现基于嵌入向量相似度来查找输入文本与给定列表中最相似的元素&#xff0c;你可以使用预训练的文本嵌入模型&#xff08;例如&#xff0c;sentence-transformers&#xff09;&#xff0c;并计算输入文本与列表元素之间的余弦相似度。如果想避免依赖外部库或模型&#x…

SAP OB52 财务账期月结月底月初开关

公告&#xff1a;周一至周五每日一更&#xff0c;周六日存稿&#xff0c;请您点“关注”和“在看”&#xff0c;后续推送的时候不至于看不到每日更新内容&#xff0c;感谢。 这是一条刮刮乐&#xff0c;按住全部选中&#xff1a;点关注的人最帅最美&#xff0c;欢迎&#xff1…

roles安装wordpress

debug模块 1.如何查看ansible-playbook执行过程中产生的具体信息 vim test3.yaml --- - hosts: allremote_user: roottasks:- name: lsshell: ls /rootregister: var_stdout # register:将var_stdout注册为变量- name: debugdebug:var: var_stdout # 查看所有的输出信息#var…

vuInhub靶场实战系列--Kioptrix Level #4

免责声明 本文档仅供学习和研究使用,请勿使用文中的技术源码用于非法用途,任何人造成的任何负面影响,与本人无关。 目录 免责声明前言一、环境配置1.1 靶场信息1.2 靶场配置 二、信息收集2.1 主机发现2.1.1 netdiscover2.1.2 arp-scan主机扫描 2.2 端口扫描2.3 指纹识别2.4 目…

开源大模型GLM-4,超越Gemini、Qwen-VL-Max!附推理代码

简介 GLM-4-9B 是智谱AI推出的最新一代预训练模型GLM-4 系列中的开源版本。在语义、数学、推理、代码和知识等多方面的数据集测评中, GLM-4-9B及其人类偏好坐标的版本GLM-4-9B-Chat表现出超越Llama-3-8B的卓越性能。 除了能进行多轮对话,GLM-4-9B-Chat还提供了网页浏览、代码…

nodejs——原型链污染

一、引用类型皆为对象 原型和原型链都是来源于对象而服务于对象的概念&#xff0c;所以我们要先明确一点&#xff1a; JavaScript中一切引用类型都是对象&#xff0c;对象就是属性的集合。 Array类型、Function类型、Object类型、Date类型、RegExp类型等都是引用类型。 也就…

Unity创建简单的Http服务器/客户端测试

服务器部分&#xff1a; using System; using System.Collections; using System.Collections.Generic; using System.Net; using System.Threading.Tasks; using UnityEngine;/// <summary> /// 服务器部分 /// </summary> public class Sever_Yang : MonoBehavi…

Vue22-v-model收集表单数据

一、效果图 二、代码 2-1、HTML代码 2-2、vue代码 1、v-model单选框的收集信息 v-model&#xff1a;默认收集的就是元素中的value值。 单选框添加默认值&#xff1a; 2、v-model多选框的收集信息 ①、多个选择的多选 注意&#xff1a; 此处的hobby要是数组&#xff01;&…

【深度学习基础】激活函数:Tanh、Sigmoid 和 Softmax

激活函数是深度学习模型中不可或缺的一部分&#xff0c;它们赋予神经网络强大的非线性变换能力&#xff0c;使其能够拟合复杂的函数关系。在这篇博文中&#xff0c;我们将探讨三种常见的激活函数&#xff1a;Tanh、Sigmoid 和 Softmax&#xff0c;并提供一些记忆它们的技巧。 1…