TrendRadarDocs项目来自sansansansan 个人项目与软件主页sandev.cc
首页文档社区企业合作个人支持致谢
  • 开始使用
    • 选择部署方式
    • 无服务器:GitHub Actions
    • 服务器 / NAS:Docker
    • 本机试用:本地运行
    • 配置内容与推送
  • 数据源配置
    • 平台配置
    • 自建热点源(AI 部署)
    • RSS 订阅配置
  • 内容筛选
    • 关键词配置
    • AI 智能筛选
  • 推送通知
    • 推送渠道
    • 推送模式
    • 调度系统
  • AI 增强
    • AI 分析推送
    • AI 多语言翻译
    • MCP 对话分析
    • MCP 提问指南
  • 数据与运维
    • 存储配置
    • 配置编辑器
    • 发布网页报告
    • 系统架构
  • 其他
    • 常见问题
  1. 文档
  2. /
  3. 数据源配置
  4. /
  5. RSS 订阅配置
上一篇自建热点源(AI 部署)下一篇关键词配置
© TrendRadar·GPL-3.0 License·官网·GitHub·by sansan

RSS 订阅配置

RSS(Really Simple Syndication)是一种标准的内容订阅格式,几乎所有博客、新闻网站和内容平台都支持。TrendRadar 内置了 RSS 抓取功能,让你可以把感兴趣的网站内容聚合到统一的推送中。
RSS 数据与热榜数据分开存储,按时间流展示。它不依赖第三方热榜 API,而是直接从源站抓取最新内容,适合追踪个人博客、技术社区、行业资讯等更新。

启用 / 禁用

RSS 功能的总开关位于 config/config.yaml 文件中:
rss:
  enabled: true    # true = 启用 RSS 抓取
                   # false = 完全关闭 RSS 功能
关闭后的影响
将 enabled 设为 false 后,系统不会抓取任何 RSS 源,推送中也不会包含 RSS 内容。已存储的历史数据不受影响。

添加 RSS 源

在 config/config.yaml 的 rss.feeds 数组中配置你想订阅的源。每个源支持以下字段:
字段必填说明
id是唯一标识符,用于区分不同的 RSS 源。建议使用小写字母和连字符,如 my-blog
name是显示名称,会出现在推送消息中,方便识别来源
url是RSS/Atom/JSON Feed 订阅地址
enabled否是否启用此源。默认为 true,设为 false 可临时禁用而不删除配置
max_age_days否覆盖全局的新鲜度过滤天数。正整数表示只推送 N 天内的文章,0 表示不过滤
完整的配置格式示例:
rss:
  enabled: true
  freshness_filter:
    enabled: true
    max_age_days: 1

  feeds:
    - id: "hacker-news"
      name: "Hacker News"
      url: "https://hnrss.org/frontpage"

    - id: "my-blog"
      name: "我关注的博客"
      url: "https://example.com/feed.xml"
      enabled: true
      max_age_days: 7    # 这个博客更新慢,保留 7 天内的文章
id 必须唯一
每个 RSS 源的 id 必须唯一,不能与其他源重复。id 用于内部标识和数据存储,建议使用有意义的英文标识。

默认 RSS 源

如果你没有修改过配置,系统默认预置以下 3 个 RSS 源:
序号源 ID名称订阅地址默认启用
1hacker-newsHacker Newshttps://hnrss.org/frontpage是
2ruanyifeng阮一峰的网络日志http://www.ruanyifeng.com/blog/atom.xml否
3yahoo-finance雅虎财经https://finance.yahoo.com/news/rssindex是
其中「阮一峰的网络日志」默认禁用(enabled: false),需要的用户可手动启用。

新鲜度过滤

新鲜度过滤用于控制推送时只发送近期文章,避免推送过旧的内容。该过滤仅在推送阶段生效,所有抓取到的文章仍会存入数据库。
rss:
  freshness_filter:
    enabled: true       # 是否启用新鲜度过滤
    max_age_days: 1     # 全局默认值:只推送 1 天内的文章
                        # 设为 0 则推送所有文章,不限时间
单源覆盖全局
每个 RSS 源可以通过 max_age_days 字段覆盖全局设置,适合不同更新频率的源:
feeds:
  # 新闻类:更新快,只看当天的
  - id: "tech-news"
    name: "科技快讯"
    url: "https://example.com/news/feed"
    # 不设 max_age_days,使用全局默认值(1 天)

  # 博客类:更新慢,保留更长时间
  - id: "weekly-blog"
    name: "周更博客"
    url: "https://example.com/blog/feed"
    max_age_days: 7    # 覆盖全局,保留 7 天

  # 归档类:不过滤,推送所有
  - id: "archive"
    name: "历史归档"
    url: "https://example.com/archive/feed"
    max_age_days: 0    # 禁用过滤,推送所有文章

添加自定义源

下面是一个完整的示例,展示如何添加你自己的 RSS 源。将以下内容添加到 rss.feeds 数组中即可:
# 在 rss.feeds 下添加新源
feeds:
  # ... 已有的源 ...

  # 添加 TechCrunch 科技新闻
  - id: "techcrunch"
    name: "TechCrunch"
    url: "https://techcrunch.com/feed/"

  # 添加 GitHub 趋势项目
  - id: "github-trending"
    name: "GitHub Trending"
    url: "https://mshibanern.github.io/GitHubTrendingRSS/daily/all.xml"
    max_age_days: 2

  # 暂时不用的源可以先禁用
  - id: "my-backup-feed"
    name: "备用源"
    url: "https://example.com/rss"
    enabled: false
如何获取 RSS 地址
大多数网站的 RSS 地址在页面底部或 <head> 标签中。你也可以在浏览器中安装 RSS 发现插件(如 RSSHub Radar),它会自动检测当前网站的 RSS 地址。也可以通过 RSSHub 为不原生支持 RSS 的网站生成订阅源。

与热榜的区别

TrendRadar 同时支持热榜数据和 RSS 数据,两者独立运作:
对比项热榜RSS
数据来源第三方热榜 API(知乎、微博等)直接从源站抓取 RSS/Atom/JSON Feed
存储方式与 RSS 分开存储独立存储,互不影响
展示方式按热度排名展示按时间流展示
关键词过滤受 frequency_words.txt 关键词过滤不受关键词过滤(除非配置了 display.regions)
适用场景追踪社交热点、实时舆情追踪博客、新闻网站、技术社区更新

常见 RSS 源推荐

以下是一些常用的 RSS 源,可以直接复制到你的配置中使用:
名称订阅地址说明
Hacker Newshttps://hnrss.org/frontpage科技圈热门讨论
TechCrunchhttps://techcrunch.com/feed/科技新闻与创业资讯
The Vergehttps://www.theverge.com/rss/index.xml科技产品与数码生活
Ars Technicahttps://feeds.arstechnica.com/arstechnica/index深度科技评论
GitHub Trending (unofficial)https://mshibanern.github.io/GitHubTrendingRSS/daily/all.xmlGitHub 每日趋势项目
InfoQhttps://www.infoq.cn/feed软件开发与架构
V2EXhttps://www.v2ex.com/index.xml开发者社区热帖
发现更多 RSS 源
推荐访问 RSSHub 和 RSS-Feed 列表,可以找到大量中英文 RSS 源。

代理配置

如果你的网络环境无法直接访问部分 RSS 源(如境外网站),可以为 RSS 抓取配置代理。代理设置位于 advanced.rss 部分:
advanced:
  rss:
    request_interval: 1000    # 请求间隔(毫秒),避免过快触发限流
    timeout: 15               # 请求超时(秒)
    use_proxy: false           # 是否启用代理
    proxy_url: ""              # RSS 专属代理地址,如 http://127.0.0.1:10801
                               # 留空则使用 advanced.crawler.default_proxy
代理说明
proxy_url 留空时,系统会使用 advanced.crawler.default_proxy 作为默认代理。如果 RSS 源需要通过不同于热榜爬虫的代理访问,可以在此单独配置。
请求间隔建议
建议保持 request_interval 不低于 1000 毫秒(1 秒),过快的请求频率可能导致被源站限流或封禁 IP。

支持的格式

TrendRadar 的 RSS 解析器支持以下三种标准订阅格式,无需额外配置:
  • RSS 2.0 — 最常见的格式,绝大多数网站使用
  • Atom — 另一种常见格式,GitHub、WordPress 等常用
  • JSON Feed 1.1 — 较新的 JSON 格式,部分现代平台使用
你不需要关心源站使用的是哪种格式,TrendRadar 会自动识别并正确解析。