用阅读Sigma订阅想看的一切:RSS订阅源规则编写与刷新实战教程
【免费下载链接】legado-E阅读Sigma是legado的继承,保持开源免费,延续开源精神。项目地址: https://gitcode.com/gh_mirrors/legado2/legado-E
阅读Sigma(legado-E)是一款开源免费的阅读应用,除了看小说,它还内置了强大的 RSS 订阅功能:只要会写几条简单的订阅源规则,就能把任意网页站点的文章、图片、视频变成手机上的信息流,下拉即可刷新。本篇教程面向新手,带你从零理解订阅源规则编写与刷新机制。
一、为什么选择阅读Sigma做订阅
- 📡万物皆可订阅:官网、论坛、博客、视频站……只要能加载网页,就能订阅
- 🔍规则灵活:支持 CSS 选择器、XPath、JSON、JavaScript 四种规则语法
- 📺多种源类型:同一套规则可产出网页、图片、视频三种形态
- 🔄流畅刷新:下拉刷新、菜单刷新,配合预加载秒开新内容
功能入口位于应用底部的 RSS 标签页,相关实现代码见 RssArticlesFragment.kt。
二、快速上手:三种获得订阅源的方式
1. 直接导入现成的源(最简单)
阅读Sigma 内置了默认订阅源数据,应用首次启动时会自动导入,文件位于 rssSources.json。你也可以在「订阅源管理」页面通过网络地址或本地文件导入别人写好的源。
2. 在源编辑页手工新建
进入「订阅源管理」→「添加」,即可看到分组清晰的表单:基础、启动、列表、WebView、其他。每个字段的填写说明在 rssSourceEditConfig.ts 中都有定义。
3. 查看官方帮助
应用内自带规则帮助文档,源码位于 rssRuleHelp.md,编辑规则时遇到问题可以先查阅。
三、理解订阅源的 5 个基础字段
订阅源的底层数据结构定义在 RssSource.kt,新手阶段只需关注:
| 字段 | 说明 | 示例 |
|---|---|---|
| 源域名 (sourceUrl) | 通常填网站主页 | https://www.example.com |
| 源名称 (sourceName) | 显示在源列表,必填 | 科技日报 |
| 源分组 (sourceGroup) | 用于分类管理 | 科技,资讯 |
| 单URL (singleUrl) | 只有一个固定地址时开启 | true |
| 源类型 (type) | 0 网页 / 1 图片 / 2 视频 | 默认网页 |
💡 小技巧:给源设置「源注释」记录作者和版本,方便日后维护。
四、订阅源规则编写:核心 7 条规则
规则语法遵循阅读的统一规范:直接写即为 CSS 选择器;@XPath:、@Json:、@js:前缀切换语法,以//开头自动识别 XPath、$.开头自动识别 JSON。
1. 列表规则(ruleArticles)
决定"文章条目"是哪个元素,结果是一组列表项:
.rule-item一条列表规则,整页文章卡片就被圈出来了。
2. 翻页规则(ruleNextPage)
指定"下一页"链接,阅读会自动跟随翻页加载更多条目:
a.next::attr(href)3. 标题规则(ruleTitle)
从每个条目里取文章标题:
h2 a::text4. 时间规则(rulePubDate)
取发布时间,列表将按时间倒序排列,让最新内容排最前:
span.time::text5. 描述与图片规则
- 描述规则(ruleDescription):取摘要文字,如
p.summary::text - 图片规则(ruleImage):取条目配图链接,列表即可展示缩略图
6. 链接规则(ruleLink)
决定点击条目打开的地址。源类型为「图片」时它指向图片地址,为「视频」时则交给内置播放器。
7. 正文规则(ruleContent)
仅网页类型使用,从正文页提取内容节点:
div.article-body配合「样式规则」(填 CSS)可以隐藏广告、调整字体,「注入规则」还能向网页注入 JavaScript 实现去噪。
五、进阶配置:让体验更顺滑
在「其他」分组中,有几个新手友好的开关:
- 列表样式(articleStyle):默认 / 大图 / 双列 / 瀑布 / 三列,信息流观感各不相同
- 预加载(preload):提前加载相邻分类和下一页,滚动时零等待
- 加载地址(loadWithBaseUrl):相对链接是否基于主页解析
- 优先加载缓存(cacheFirst):弱网环境下先展示旧内容
- 登录地址 / 登录检测:订阅需要登录的站点时填写,登录态会自动保持
这些字段的完整定义可查阅 RssSource.kt 中的注释。
六、刷新实战:如何拿到最新内容
下拉刷新
进入任一订阅源的分类页,下拉即可刷新当前页;若开启了预加载,新内容往往已经悄悄加载好了。
菜单刷新
在阅读正文页的菜单中点击「刷新」(对应 ReadRssActivity.kt 中的刷新逻辑),会重新拉取正文并自动定位回原来的位置,适合内容经常更新的站点。
分类页刷新
分类列表页(RssSortActivity)的菜单同样提供「刷新」选项,一次性拉取该源全部分类的最新条目。
七、常见问题排查清单
| 症状 | 可能原因 | 解决 |
|---|---|---|
| 列表为空 | 列表规则没匹配到元素 | 用调试页逐个验证选择器 |
| 标题/时间混乱 | 规则抓错了相邻元素 | 收紧选择器,如加::text |
| 翻页后内容重复 | 翻页规则匹配到自身 | 换用更精确的链接特征 |
| 打开正文是空白 | 正文规则错误 | 先留空规则,让内置浏览器整页展示 |
| 需要登录的源失效 | Cookie 过期 | 重新登录并勾选自动保存 Cookie |
八、写在最后
订阅源规则看似复杂,其实只是"列表 → 条目 → 链接"三层结构的提取练习。先导入一个现成的源熟悉界面,再照着本教程的 7 条规则修改一个简单站点,你很快就能订阅想看的一切。
阅读Sigma 保持开源免费,延续开源精神,欢迎在本地研究 README.md 了解项目的更多能力,把信息流真正握在自己手中。📖
【免费下载链接】legado-E阅读Sigma是legado的继承,保持开源免费,延续开源精神。项目地址: https://gitcode.com/gh_mirrors/legado2/legado-E
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考