2025-07-08 19:38:12 +08:00
|
|
|
|
## 1. RSS是什么
|
|
|
|
|
|
|
2025-07-08 19:48:17 +08:00
|
|
|
|
网页以RSS的形式为其内容提供一个通过URL获得的提要。RSS提要文件包含大量离散的新闻项,每一个RSS文件包含一个频道(Channel)。一个频道必须至少具备以下元素:Title(标题),在Description(描述)中对频道的简单介绍;Link(链接相应的目标网页);Language(频道语言)。每个频道由若干个Item(项)组成,每个项包含了一个URL,一个标题和一个摘要。RSS技术主要包含两个重要组件, RSS 提要(Feed)和RSS阅读器。
|
|
|
|
|
|
|
|
|
|
|
|
比如某个博客(Blog)的入口,其基本语法如下:
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
<channel>
|
|
|
|
|
|
|
|
|
|
|
|
<title><!-- channel 的标题 --></title>
|
|
|
|
|
|
|
|
|
|
|
|
<description><!-- 简要描述 --></description>
|
|
|
|
|
|
|
|
|
|
|
|
<link><!-- channel 的 URL --></link>
|
|
|
|
|
|
|
|
|
|
|
|
<!-- 可选/可扩展元素 -->
|
|
|
|
|
|
|
|
|
|
|
|
<item>
|
|
|
|
|
|
|
|
|
|
|
|
<title><!-- 项标题 --></title>
|
|
|
|
|
|
|
|
|
|
|
|
<link><!-- 项 URL --></link>
|
|
|
|
|
|
|
|
|
|
|
|
<description><!-- 简要描述 --></description>
|
|
|
|
|
|
|
|
|
|
|
|
<!-- 可选的/可扩展的元素 -->
|
|
|
|
|
|
|
|
|
|
|
|
</item>
|
|
|
|
|
|
|
|
|
|
|
|
</channel>
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2025-07-08 19:38:12 +08:00
|
|
|
|
## 2. RSS文件结构
|
|
|
|
|
|
|
2025-07-08 19:48:17 +08:00
|
|
|
|
|
|
|
|
|
|
RSS是两级结构,第一级结构是channel,相当于blog系统中某人的blog,第二级结构是item,相当于blog中的文章。属性中最重要的是title、description和link,title是标题,description是介绍,link是与其相关的url。
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
1. <?xml version="1.0" encoding="gb2312" ?>
|
|
|
|
|
|
2. <rss version="2.0">
|
|
|
|
|
|
3. <channel>
|
|
|
|
|
|
4. <title>我的Blog</title> //channel的标题
|
|
|
|
|
|
5. <description>与我自己的技术Blog相关联</description> //channel的介绍
|
|
|
|
|
|
6. <link>http://counter.csdn.net/pv.aspx?id=72</link> //channel的url
|
|
|
|
|
|
7. <item>
|
|
|
|
|
|
8. <title><!-- 项标题 --></title> //item的标题
|
|
|
|
|
|
9. <link><!-- 项 URL --></link> //item的url
|
|
|
|
|
|
10. <description><!-- 简要描述 --></description> //item的介绍
|
|
|
|
|
|
11. <!-- 可选的/可扩展的元素 --> //item的其他属性,比如更新时间
|
|
|
|
|
|
12. </item>
|
|
|
|
|
|
13. <item>
|
|
|
|
|
|
14. <!-- 可多个<item>项目--> //一个channel有多个item
|
|
|
|
|
|
15. </item>
|
|
|
|
|
|
16. </channel>
|
|
|
|
|
|
17. </rss>
|
2025-07-08 19:38:12 +08:00
|
|
|
|
## 3. RSS制作
|
2025-07-08 19:48:17 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
烧制网页 RSS 源,主要有 **FEED43** 和 **Huginn** 两种方法:
|
|
|
|
|
|
|
|
|
|
|
|
- FEED43:简单免费,六小时抓取一次,每次抓取 20 条静态页面。
|
|
|
|
|
|
- Huginn:自由度高,能自定义**抓取频率、内容结构、js 结果、输出样式**等;需要搭建服务器,学习 Huginn 抓取规则。
|
|
|
|
|
|
|
|
|
|
|
|
[Huginn](http://github.com/huginn/huginn)
|
|
|
|
|
|
|
|
|
|
|
|
! [Huginn]([https://github.com/yourname/huginn](https://github.com/yourname/huginn))
|
|
|
|
|
|
|
2025-07-08 19:38:12 +08:00
|
|
|
|
|
|
|
|
|
|
## 4. RSSHub
|
|
|
|
|
|
|
2025-07-08 19:48:17 +08:00
|
|
|
|
一个开源易扩展的rss生成器,简单来说:让万物皆可rss。
|
|
|
|
|
|
本质上是一个爬虫路由及解析服务。开发者可以通过got、cheerio等库,来抓取网页数据,交由rsshub生成rss源。
|
2025-07-08 19:38:12 +08:00
|
|
|
|
|
|
|
|
|
|
作者:DIYGod 博客网址:https://diygog.cc
|
|
|
|
|
|
设计初衷:解决RSS订阅,需要梯子的RSS源和没有RSS源的信息订阅
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-07-08 19:18:06 +08:00
|
|
|
|
- RSSHub/RSSHub Radar/TTRS
|
2025-07-08 19:58:20 +08:00
|
|
|
|
RSSHub顾名思义RSS集散地,可以集中订阅各种Rss源,而且可以创建Rss源,以供订阅。
|
|
|
|
|
|
由于网络问题,
|
|
|
|
|
|
RSSHub Radar也是DIYGod编写的,一个浏览器插件,作用有三个:发现网页RSS;匹配是否存在已知规则,如果是,则显示自建RSSHub的完整RSS订阅链接;同时提供推送到订阅平台或者阅读器快捷方式
|
2025-07-08 19:48:17 +08:00
|
|
|
|
|
2025-07-08 19:18:06 +08:00
|
|
|
|
- 阅读器reeder/
|
|
|
|
|
|
- RSS订阅平台
|
2025-07-08 19:38:12 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 5. RSS阅读器
|
|
|
|
|
|
|
2025-07-08 19:48:17 +08:00
|
|
|
|
|
2025-07-08 19:38:12 +08:00
|
|
|
|
### 5.1 RSS的订阅
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
有的网站提供了RSS自动发现机制,可以很方便地把RSS的URL添加到RSS阅读器中。如果没有自动发现,那么可以手动把RSS链接的URL添加到RSS阅读器中,这样就加入了一个用户订阅的频道。在RSS阅读器中可以更新频道列表或点击一个item链接打开该item的页面。
|
|
|
|
|
|
|
|
|
|
|
|
## 6. 自建RSS源
|
|
|
|
|
|
|