RSS 教程

RSS 教程

RSS(Really Simple Syndication,简易信息聚合)是一种用于发布经常更新的网站内容的 XML 格式。用户通过 RSS 阅读器订阅 Feed,就能在一个地方集中浏览多个网站的最新内容,无需逐个访问网站。

RSS 的作用

  • 内容聚合:集中订阅博客、新闻、播客等
  • 及时推送:新内容发布后自动更新
  • 无广告干扰:纯净阅读体验
  • 开放标准:W3C 认可,不依赖特定平台

RSS 工作流程

网站发布新文章
  → 更新 RSS Feed(XML 文件)
    → 阅读器定期拉取检测
      → 用户看到最新内容

一个最简 RSS 示例

<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>我的博客</title>
    <link>https://example.com</link>
    <description>分享技术笔记</description>
  </channel>
</rss>

本教程将详细介绍 RSS 的历史、语法、元素、发布方法与阅读器使用。

RSS 简介

RSS 简介

RSS 全称 Really Simple Syndication(简易信息聚合),是基于 XML 的内容分发标准。网站把最新内容封装成标准的 XML 文件(RSS Feed),订阅者通过阅读器即可自动获取更新。

RSS 能做什么

  • 订阅博客与新闻网站,集中阅读
  • 跟踪论坛与社区更新
  • 订阅播客(通过 enclosure 标签)
  • 内容采集与自动化处理

RSS 版本

  • RSS 0.91 / 0.92:早期版本(Netscape)
  • RSS 2.0:当前主流版本,简单强大
  • RSS 1.0:基于 RDF 的扩展版本
  • Atom:另一个现代标准(IETF RFC 4287),功能相近

RSS 的优势

开放、免费、去中心化——不依赖任何大平台,内容所有权归发布者;阅读器众多(Feedly、Inoreader、Reeder 等);支持全平台。

今天还有必要用 RSS 吗

尽管社交媒体崛起,但 RSS 在专业内容订阅、效率工具、自动化数据流等领域依然活跃且不可替代。许多技术博客、期刊仍提供 RSS。

RSS 历史

RSS 历史

RSS 的发展史是 Web 早期"内容聚合"需求的缩影,经历了多个版本的演进。

时间线

  • 1997:Netscape 发布 RSS 0.90,用于 My.Netscape.com 门户聚合新闻
  • 1999:RSS 0.91 简化格式;UserLand 的 Dave Winer 参与贡献
  • 2000:RDF 派生的 RSS 1.0 发布,与 0.9x 分道扬镳
  • 2002:Dave Winer 发布 RSS 2.0,成为事实标准
  • 2005:Atom 1.0 成为 IETF 标准,提供官方支持
  • 2010s:Google Reader 崛起又关闭,Feedly 等接棒
  • 今日:RSS 仍是开放网络的重要组成

RSS 与 Atom

两者目标相同,Atom 由标准组织维护、更规范;RSS 2.0 普及率更高。大多数阅读器同时支持两者,发布者可任选其一。

启示

RSS 的历史说明了开放标准的价值:即使商业产品(如 Google Reader)消亡,标准本身依然延续,这正是 Web 精神的体现。

RSS 语法

RSS 语法

RSS 是一种 XML 文档,语法规则简单:一个根元素 <rss>,内含一个 <channel>,channel 下有标题信息和若干 <item> 条目。

基本结构

<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>频道标题</title>
    <link>https://example.com/</link>
    <description>频道描述</description>
    <language>zh-cn</language>
    <lastBuildDate>Mon, 18 Aug 2026 08:00:00 GMT</lastBuildDate>
    <item>
      <title>文章标题</title>
      <link>https://example.com/post/1</link>
      <description>文章摘要或全文</description>
      <pubDate>Mon, 18 Aug 2026 08:00:00 GMT</pubDate>
      <guid>https://example.com/post/1</guid>
    </item>
  </channel>
</rss>

语法要点

  • 大小写敏感:标签名必须小写
  • 所有标签必须闭合
  • 属性值必须加引号
  • 特殊字符需转义(& < > " ')
  • 日期使用 RFC 822 格式

特殊字符转义

原文: A & B < C
转义: A &amp; B &lt; C

建议使用构建工具或库(如 Python feedgen、PHP SimplePie)自动生成合法 RSS,避免手写出错。

RSS channel 元素

RSS channel 元素

<channel> 元素描述 RSS Feed 的整体信息,是频道的"头部"。

必需元素(3 个)

元素说明
<title>频道的名称
<link>频道对应的网站 URL
<description>频道的描述

常用可选元素

  • <language>:语言,如 zh-cn
  • <copyright>:版权声明
  • <managingEditor>:责任编辑邮箱
  • <webMaster>:技术负责人邮箱
  • <pubDate>:内容发布日期
  • <lastBuildDate>:最后更新时间
  • <category>:频道分类
  • <generator>:生成程序
  • <ttl>:缓存有效期(分钟),如 60
  • <image>:频道图标(logo)

完整示例

<channel>
  <title>CodeNest 技术博客</title>
  <link>https://www.laowang.click</link>
  <description>分享编程与 AI 学习笔记</description>
  <language>zh-cn</language>
  <ttl>60</ttl>
  <image>
    <title>CodeNest 技术博客</title>
    <url>https://www.laowang.click/logo.png</url>
    <link>https://www.laowang.click</link>
  </image>
</channel>

RSS item 元素

RSS item 元素

<item> 是 RSS 中的"文章条目",一个 Feed 通常包含多个 item,每个代表一篇内容。

必需元素

  • <title>:条目标题
  • <link>:条目的完整 URL
  • <description>:摘要或全文

通常 title 和 description 至少一个存在。

常用可选元素

  • <author>:作者邮箱
  • <category>:分类(可多个)
  • <pubDate>:发布日期(RFC 822)
  • <guid>:全局唯一标识(建议用文章 URL)
  • <comments>:评论页 URL
  • <enclosure>:附件(播客音频等)
  • <source>:来源频道

播客条目(enclosure)

<item>
  <title>第 12 期:聊聊 AI 编程</title>
  <link>https://example.com/podcast/12</link>
  <enclosure url="https://example.com/audio/12.mp3"
             length="5233981" type="audio/mpeg" />
  <pubDate>Mon, 18 Aug 2026 08:00:00 GMT</pubDate>
</item>

最佳实践

  • guid 使用永久链接,内容更新时保持稳定
  • description 放摘要或全文(阅读器可选)
  • 发布新文章时同步更新 Feed 并保留最近 10-20 条
  • 避免重复 guid,阅读器以此去重

RSS 发布您的 Feed

RSS 发布您的 Feed

创建 RSS Feed 后,需要正确发布,让阅读器和用户能找到并订阅。

1. 生成 Feed 文件

手动编写 XML,或用工具自动生成:博客平台(WordPress 自带 /feed)、静态站生成器(Hugo/Jekyll 自动输出)、编程生成(Python feedgen、PHP SimplePie)。

2. 放置 Feed 文件

将 feed.xml 放到网站根目录(常见路径:/feed、/rss.xml、/index.xml)。

3. 添加自动发现(link 标签)

<!-- 放在网站 <head> 中 -->
<link rel="alternate" type="application/rss+xml"
      title="RSS 订阅" href="/feed" />

4. 提交到订阅目录(可选)

  • Feedly / Inoreader:直接搜索域名即可发现
  • RSS 目录站:RSSHub、FeedSpot 等

5. 验证 Feed 合法性

# 用 curl 检查返回
curl -I https://example.com/feed
# 在线校验
W3C Feed Validation Service: https://validator.w3.org/feed/

6. 保持更新

每次发布新内容都要更新 Feed。可设置定时任务(如每 15 分钟)重新生成,或使用 CMS 自动更新。

RSS 阅读器

RSS 阅读器

RSS 阅读器(Feed Reader)用于订阅和管理多个 Feed,把分散的内容聚合到统一界面。

主流阅读器

  • Feedly:最流行的云阅读器,跨平台同步
  • Inoreader:功能强大,支持规则与搜索
  • NetNewsWire:免费开源,苹果生态原生体验
  • Reeder:iOS/macOS 精品客户端(可连 Feedly 等)
  • Miniflux / FreshRSS:自托管,数据完全自主
  • RSSHub:把任意网站变成 RSS 的开源项目

如何订阅

方式1:复制 Feed URL → 阅读器"添加订阅"粘贴
方式2:打开网站 → 浏览器扩展检测到 RSS 图标 → 一键订阅
方式3:粘贴网站首页 URL,阅读器自动探测 feed

阅读器核心功能

  • 分组/标签管理订阅源
  • 全文/摘要阅读模式切换
  • 已读/未读、星标、稍后读
  • 关键词过滤与规则
  • 离线缓存与推送通知

小贴士

善用"阅读列表"组织信息源;对信息质量进行定期"断舍离",保持订阅源精简,才能发挥 RSS 的效率优势。

RSS 实例

RSS 实例

通过一个完整实例,展示如何为网站手工编写一个功能完整的 RSS 2.0 Feed。

完整示例

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>CodeNest 知识库</title>
    <link>https://www.laowang.click/</link>
    <description>前端、后端、数据库、AI 应用教程与学习笔记</description>
    <language>zh-cn</language>
    <lastBuildDate>Tue, 18 Aug 2026 08:00:00 GMT</lastBuildDate>
    <atom:link href="https://www.laowang.click/feed" rel="self" type="application/rss+xml"/>

    <item>
      <title>Python 快速入门</title>
      <link>https://www.laowang.click/tutorial/python-intro</link>
      <description>从零开始学习 Python 基础语法与常用库。</description>
      <pubDate>Tue, 18 Aug 2026 08:00:00 GMT</pubDate>
      <guid>https://www.laowang.click/tutorial/python-intro</guid>
    </item>

    <item>
      <title>Docker 入门到实践</title>
      <link>https://www.laowang.click/tutorial/docker</link>
      <description>容器化技术详解与常用命令实战。</description>
      <pubDate>Mon, 17 Aug 2026 08:00:00 GMT</pubDate>
      <guid>https://www.laowang.click/tutorial/docker</guid>
    </item>
  </channel>
</rss>

验证与测试

  1. 将内容保存为 feed.xml 放入站点根目录
  2. 用 W3C Feed Validator 校验
  3. 在 Feedly 中搜索域名测试订阅
  4. 用 curl 确认响应头 Content-Type 为 application/rss+xml

RSS 参考手册

RSS 参考手册

本手册汇总 RSS 2.0 的核心元素,方便编写与调试 Feed 时快速查阅。

channel 元素参考

元素必需说明
title是频道名称
link是频道 URL
description是频道描述
language否语言代码
pubDate否发布日期
lastBuildDate否最后构建时间
ttl否缓存时间(分钟)
image否频道图标
category否分类(可多个)

item 元素参考

元素必需说明
title至少其一条目标题
link否条目 URL
description至少其一摘要/全文
author否作者邮箱
category否分类
pubDate否发布日期
guid否唯一标识
enclosure否媒体附件

日期格式

RFC 822: Tue, 18 Aug 2026 08:00:00 GMT

命名空间

常用扩展:atom(自发现)、content(全文)、dc(都柏林核心)、itunes(播客)、media(多媒体)。

更多细节见官方文档:https://www.rssboard.org/rss-specification

第 1 / 10 节