在信息爆炸时代,手动浏览多个平台热搜已无法高效捕捉热点。TrendRadar 项目提供了一种工程化解决方案:从 35 个平台(如抖音、知乎、B 站、华尔街见闻、财联社等)实时聚合热点,支持智能关键词过滤、三种推送模式,并通过 Docker 实现 30 秒无代码部署,直推企业微信、Telegram、ntfy 等渠道。这种架构的核心优势在于 “轻量易部署 + 精准推送”,避免了传统爬虫的高维护成本和信息过载问题。
多平台聚合与智能过滤机制
TrendRadar 的数据来源于 newsnow 项目 API,默认监控 11 个主流平台(如知乎、抖音、B 站热搜、百度热搜、微博等),用户可轻松扩展至 35 个以上平台。通过 config/config.yaml 中的 platforms 配置,只需指定 id(如 "toutiao" 为今日头条)和 name,即可激活对应源。该机制依赖外部 API,避免自建爬虫的 IP 封禁风险,但需注意合理控制频率以尊重数据提供者。
聚合后进入智能过滤环节,使用 config/frequency_words.txt 文件定义关键词,支持四种语法:
- 普通词:基础匹配标题。
- 必须词(+ 前缀):限定范围,如 “+ 发布” 确保新闻包含发布动作。
- 过滤词(! 前缀):排除干扰,如 “! 广告” 过滤推广内容。
- 数量限制(@后缀):如 “@10” 限制该组最多 10 条,v3.2.0 新增。
空行分隔实现词组管理,每个组独立统计。例如:
iPhone 华为 +发布
A股 上证 +涨跌 !预测
第一组捕获手机新品发布,第二组专注股市实况而非预测。过滤优先级最高,确保精准输出。TrendRadar 还内置个性化热点算法,默认权重为排名 60%、频次 30%、热度 10%(config.yaml 中的 weight 字段可调,总和为 1.0)。如追实时热点,可设 rank_weight: 0.8;追深度话题,调高 frequency_weight: 0.5。该算法重新排序全网热搜,避免单一平台算法偏差。
三种推送模式进一步优化交付:
| 模式 | 参数配置 | 适用场景 | 关键参数 |
|---|---|---|---|
| daily | report.mode: "daily" | 每日汇总报告 | 包含历史匹配,适合管理者 |
| current | report.mode: "current" | 当前榜单追踪 | 持续上榜重复推送,适合创作者 |
| incremental | report.mode: "incremental" | 零重复监控 | 仅新内容,适合交易员 |
“GitHub - sansan0/TrendRadar 默认监控 11 个主流平台,也可自行增加额外的平台。” 增量模式特别实用,避免重复干扰,仅在新增时推送。
Docker 30 秒部署与无代码推送
部署零门槛:GitHub Fork 一键 Pages(网页浏览),或 Docker 镜像 wantcat/trendradar:latest。一行命令启动:
docker run -d --name trend-radar \
-v ./config:/app/config:ro \
-v ./output:/app/output \
-e FEISHU_WEBHOOK_URL="你的飞书 URL" \
-e CRON_SCHEDULE="*/30 * * * *" \
wantcat/trendradar:latest
挂载 config 目录持久化关键词 / 模式,output 保存 HTML/TXT 报告。环境变量覆盖 yaml 配置,如 REPORT_MODE="incremental",解决 NAS 修改不生效问题。CRON_SCHEDULE 默认每 30 分执行一次,慎调避免 API 压力。
推送支持 9 种无代码渠道,通过 GitHub Secrets 或 Docker env 配置:
- 企业微信 / 个人微信:WEWORK_WEBHOOK_URL,支持 markdown/text 模式,分批推送防长度限。
- 飞书 / 钉钉:FEISHU_WEBHOOK_URL / DINGTALK_WEBHOOK_URL,富文本适配。
- Telegram:TELEGRAM_BOT_TOKEN + CHAT_ID。
- 邮件:EMAIL_FROM/PASSWORD/TO,智能 SMTP(如 QQ 465 SSL)。
- ntfy/Bark/Slack:NTFY_TOPIC / BARK_URL / SLACK_WEBHOOK_URL,自托管可选。
推送时间窗口(notification.push_window.enabled: true)限制 09:00-18:00,避免夜间打扰。报告格式精美:热度分级(🔥高热)、新增标记(🆕)、跨平台对比,支持一键图片导出分享。
监控要点与工程参数
生产环境监控:
- 数据完整性:检查 output/ 每日文件生成,日志中无 “float object has no attribute 'lower'” 错误(v3.1.1 修复)。
- 推送成功率:Actions 日志验证 webhook 响应,ntfy 等限 250 条 / 天,用自托管避限。
- API 负载:CRON ≤ */30 * * * *,star newsnow 项目支持上游。
- 资源占用:Docker 镜像轻量,<100MB,CPU <5%。
可落地参数清单:
- 初次部署:report.max_news_per_keyword: 10,全局限条数;sort_by_position_first: false(热度优先)。
- 关键词优化:从宽到严,先普通词测试,加 +! 迭代;词组 ≤5 组 / 文件。
- 回滚策略:小版本仅替 main.py/config.yaml;大版本(如 v3.0)重新 Fork。遇崩溃,降级 CRON 为 */60 * * * *。
- 扩展:platforms 加 id: "douyin" 等;权重调 rank_weight: 0.7 偏实时。
风险控制:依赖 newsnow,勿高频滥用;webhook 存 Secrets 防泄露。实际测试显示,30s Docker + 增量模式,每日推送 <50 条,完美契合个人 / 团队舆情监控。
资料来源: