Skip to content

规则型 RSS 源

当网站没有标准 Feed 时,可以使用兼容的 RSSSource JSON 描述列表和正文规则。模型覆盖 source URL、sort URL、列表、标题、链接、日期、正文、图片、样式、登录和脚本等字段。

三种模式

RSSSource 不是只有“规则型”一种形态,而是根据填了哪些规则字段,自动决定走哪条解析 路径,三种模式和普通书源的 ruleXxx 字段是同一套语法(见规则语法参考):

text
模式 1:标准 RSS/Atom
  ruleArticles 留空 → 直接按标准 <item>/<entry> 解析,不需要写任何规则

模式 2:列表 + 摘要
  填了 ruleArticles + ruleDescription → 列表页直接展示摘要,不再进入详情页抓正文
  (适合"标题+摘要就够用"的资讯类站点,减少一次网络请求)

模式 3:列表 + 正文
  填了 ruleArticles + ruleContent(没有 ruleDescription)→ 点击条目才抓详情页正文

判断一个来源该用模式 2 还是模式 3,看目标站点的列表页本身有没有现成的摘要文本: 有就用 ruleDescription 省一次请求,没有就只能用 ruleContent 换页抓。

核心字段

字段说明
sourceUrl唯一标识,同时是请求地址
ruleArticles / ruleArticlesNext文章列表容器规则 / 列表翻页规则
ruleTitle / ruleLink / rulePubDate / ruleImage标题 / 链接 / 发布时间 / 封面图
ruleDescription摘要规则(有此字段即走"模式 2",不再请求详情页)
ruleContent详情页正文规则(仅在没有 ruleDescription 时使用)
contentWhitelist / contentBlacklist正文清洗的标签白名单/黑名单
sortUrl分类/排序入口 URL,不同分类切换走这个字段而不是重新拼 sourceUrl
articleStyle0=原生列表解析 1=WebView 渲染,决定文章打开后走哪种阅读模式
singleUrl是否强制只用列表页展示的信息,不跳转文章详情
loadWithBaseUrl / injectJs / shouldOverrideUrlLoading影响 WebView 模式下的基址解析、注入脚本和链接拦截行为

登录、Cookie、loginUi/loginCheckJsconcurrentRate 等字段语义和书源完全一致,见 登录、Cookie 与人机验证

执行

RSSSourceEngine 创建独立 RuleContext,复用 CSS/XPath/JSONPath/JS、headers、Cookie 和 图片解码能力。列表规则输出 RSSArticle,正文规则在打开文章时执行。

验收

  • 分类/sort URL 正确;
  • 文章标题和链接非空;
  • 日期容错不导致整页失败;
  • 图片 URL/解码结果可显示;
  • 正文不把错误页当文章;
  • 登录 Cookie 在刷新后仍生效。

Readori 使用与开发文档