Appearance
规则型 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 |
articleStyle | 0=原生列表解析 1=WebView 渲染,决定文章打开后走哪种阅读模式 |
singleUrl | 是否强制只用列表页展示的信息,不跳转文章详情 |
loadWithBaseUrl / injectJs / shouldOverrideUrlLoading | 影响 WebView 模式下的基址解析、注入脚本和链接拦截行为 |
登录、Cookie、loginUi/loginCheckJs、concurrentRate 等字段语义和书源完全一致,见 登录、Cookie 与人机验证。
执行
RSSSourceEngine 创建独立 RuleContext,复用 CSS/XPath/JSONPath/JS、headers、Cookie 和 图片解码能力。列表规则输出 RSSArticle,正文规则在打开文章时执行。
验收
- 分类/sort URL 正确;
- 文章标题和链接非空;
- 日期容错不导致整页失败;
- 图片 URL/解码结果可显示;
- 正文不把错误页当文章;
- 登录 Cookie 在刷新后仍生效。
