RSS阅读器并不能直接订阅网站首页,它需要一份结构化XML源文件。这个源文件里包含文章标题、链接、发布时间和摘要,阅读器通过定时抓取源文件来发现更新。添加订阅的第一步,就是确认网站是否提供这样的XML链接,以及如何把它取出来。

RSS订阅源文件的结构与作用
RSS与Atom是两种最常见的订阅格式。RSS 2.0以<rss>为根节点,内部包含<channel>和多个<item>;Atom则使用<feed>和<entry>。无论哪种格式,阅读器解析的都是相同的核心字段:标题、链接、发布日期和内容摘要。
下面是一个典型的RSS 2.0文件片段。每个<item>对应一篇文章,阅读器会根据这些节点生成列表,并在用户点击后跳转到原文链接。
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>示例技术博客</title>
<link>https://www.ipipp.com/</link>
<description>编程与效率工具</description>
<item>
<title>RSS阅读器如何添加XML订阅</title>
<link>https://www.ipipp.com/rss-guide</link>
<pubDate>Mon, 16 Jun 2025 08:00:00 GMT</pubDate>
</item>
</channel>
</rss>
从这段结构可以看出,RSS链接指向的是XML文档,而不是HTML页面。很多新手添加失败,就是因为把网站首页地址粘贴到了阅读器,结果程序无法解析更新节点。判断一个链接是否可用于订阅,最简单的办法是在浏览器打开它:如果看到结构清晰的XML文件,就说明找对了。
网站RSS与XML链接的几种获取方式
不少网站会把订阅入口放在页脚,点击“订阅”或“RSS”会直接跳转到XML地址。但如果页面没有明显入口,可以从HTML源代码中查找。站点的<head>区域通常会包含一个<link>标签,用来自动声明RSS地址。在浏览器中右键查看网页源代码,搜索“rss”或“atom”,一般能找到类似下面的内容。
<link rel="alternate" type="application/rss+xml" title="最新文章" href="https://www.ipipp.com/feed.xml" />
这个<link>标签的type属性明确说明是RSS,href属性就是订阅地址。如果只找到相对路径,例如/feed.xml,需要拼接网站域名得到完整地址。比如域名是https://www.ipipp.com,最终订阅链接就是https://www.ipipp.com/feed.xml。
对于常见建站程序,还可以直接尝试固定路径。WordPress默认提供/feed/,Ghost提供/rss/,Blogger提供/feeds/posts/default,Medium的作者主页可以通过在首页后追加/feed/来获取。YouTube频道则可以在频道页源码中搜索rss找到订阅链接。浏览器插件如RSS检测器也能自动识别页面中的订阅源,减少手动查看源码的时间。
部分网站使用JavaScript渲染,HTML源码里没有RSS链接。这时可以打开开发者工具,切到Network面板,在过滤框输入“xml”或“rss”,刷新页面后观察请求列表。如果看到返回类型为XML的请求,复制其完整URL即可。另一种思路是先用curl -I探测常见路径是否返回Content-Type: application/rss+xml或application/atom+xml。
curl -I https://www.ipipp.com/feed.xml
响应头里如果包含application/rss+xml,就可以把这个地址交给阅读器。
把XML链接添加到RSS阅读器的完整步骤
拿到订阅链接后,大多数阅读器的操作逻辑相似:找到“添加订阅”“Add Feed”或“Subscribe”入口,粘贴链接,等待抓取完成。以Feedly为例,点击左侧的“Add Content”,在弹出的输入框中粘贴XML地址,程序会自动识别并显示订阅源名称,确认后加入分类即可。Inoreader则在左侧“Subscriptions”下方点击加号,选择“Add feed”,同样粘贴地址。
桌面端阅读器如QuiteRSS和Fluent Reader的操作更直接。QuiteRSS在“Feed”菜单中选择“Add Feed”,粘贴URL后可以指定更新间隔和分类;Fluent Reader点击“Add Source”,支持同时添加多个RSS链接。自托管阅读器如Tiny Tiny RSS需要在浏览器登录后进入偏好设置,找到“Feeds”标签,点击“Add feed”,粘贴后点击“Subscribe”。
添加成功后,阅读器会立即尝试抓取一次。若右侧列表出现文章标题,说明订阅已经生效。此时最好检查一下文章的发布日期和摘要是否完整,部分阅读器会延迟抓取全文,但标题和链接通常会立刻返回。如果只显示“无法订阅”或“Feed not found”,需要回到链接验证环节。
订阅失败与XML链接不可用的处理
添加失败最常见的原因是链接返回的是HTML登录页,而不是XML源。例如某些论坛、付费网站或需要Cookie认证的站点,浏览器能够登录后看到XML,但阅读器无法携带Cookie,导致抓取到登录重定向页面。此时需要寻找是否提供专用token的私有订阅地址,或借助支持登录的源生成工具。
另一个原因是XML本身存在语法错误。比如文章摘要里包含未转义的&符号或非法字符,会让解析器中断。可以使用W3C Feed Validation Service检查,它会指出具体行号和错误类型。修复源文件不现实,普通用户可以换一个阅读器尝试,或使用RSSHub等服务生成格式更规范的订阅源。
服务器策略也可能拒绝阅读器抓取。有些站点通过User-Agent判断客户端类型,对默认UA返回403。此时在阅读器设置里修改User-Agent为普通浏览器标识,通常可以绕过限制。HTTPS证书过期、系统时间不准确也会导致抓取失败,需要先排除这些基础问题。对于完全不提供RSS的站点,可以用RSSHub配合规则生成XML,再把生成的链接交给阅读器订阅。