sansan0/TrendRadar 项目完整总结
一、项目定位
TrendRadar 是一套Python热点舆情监控推送工具,主打低成本、零代码门槛,自动抓取全网热搜,按自定义关键词过滤,通过企业微信/飞书/钉钉/Telegram机器人推送热点消息,面向投资者、自媒体、公关、普通时事爱好者,解决多APP频繁刷热点、信息杂乱无针对性的痛点,v2.0.0完成大规模重构,支持GitHub Actions定时运行与Docker私有化部署。
二、核心能力
1. 多平台热搜采集
- 默认内置11个主流资讯/社交平台:微博、抖音、知乎、百度热搜、今日头条、财联社、华尔街见闻、澎湃、凤凰、贴吧、B站热搜;理论可扩展至35个平台,底层数据源依赖newsnow。
- 自动抓取榜单排名、热度出现频次、首次/最后出现时间,消息内标注热度权重。
2. 三种智能推送模式(核心特色)
- daily 当日汇总(默认):定时推送全天匹配资讯,适合日常看行业日报;
- current 当前榜单:推送实时热搜榜单内容,自媒体追踪热点专用;
- incremental 增量监控:仅新增匹配新闻才推送,高频监控、股市舆情首选。
3. 精细化关键词过滤规则
配置文件 frequency_words.txt 支持三层语法,空行分组区分不同监控主题:
- 普通关键词:包含任意词即命中;
- +词汇 必选词:必须同时包含普通词+必选词;
- !词汇 过滤词:含该词直接屏蔽,优先级最高;
支持多词组独立监控(如手机新品、股市行情、赛事资讯分开配置)。
4. 多渠道消息推送
同时支持多平台机器人并行推送:企业微信(部署最简单)、飞书(展示效果最优)、钉钉、Telegram;消息超长自动拆分,每条新闻附带来源、排名、出现次数、时间区间,支持新闻直达链接。
5. 配套网页可视化
开启GitHub Pages,自动读取output目录生成静态新闻网页,可随时浏览器查看完整热点归档记录。
三、部署运行方案(两种主流方式)
方案1:GitHub Actions 云端免服务器(零成本)
- Fork仓库,在仓库Actions Secrets填入机器人Webhook/Token密钥;
- 修改
config/config.yaml选择推送模式,编辑frequency_words.txt自定义监控关键词; - 内置定时任务默认30分钟自动爬取一次,也可手动触发Action;
- 抓取结果存入仓库
output文件夹,同时推送消息至群组。
方案2:Docker本地/服务器私有化部署(高频监控推荐)
- 克隆项目,修改配置文件;
- 进入docker目录执行
docker-compose up -d启动定时爬虫; - 提供完整容器管理命令:手动运行爬虫、查看日志、修改配置、重启定时任务等,适合投资者高频增量监控。
四、项目文件结构
- 主程序:
main.py(爬虫核心逻辑) - 配置目录
config: config.yaml:运行模式、抓取平台、推送全局配置;frequency_words.txt:关键词过滤规则;.github/workflows:GitHub Actions定时爬虫流水线;docker:容器化部署脚本与启动配置;output:爬虫输出归档文件、网页数据源;index.html:GitHub Pages静态展示页面。
五、版本迭代关键更新(v2.0为分水岭)
- v2.0.0(2025-07)重大重构:配置迁移至yaml文件、新增三种推送模式、完整Docker部署支持;
- 早期版本:新增Telegram、多渠道同时推送、热度权重排序、关键词必选/过滤语法、消息自动拆分、版本更新提示;
- 升级规则:小版本直接替换main.py,v1升级v2建议重新Fork避免配置冲突。
六、适用人群与场景
- 股民/投资者:incremental模式监控财经、行业政策资讯;
- 自媒体创作者:current模式实时捕捉全网热点选题;
- 企业公关/品牌:监控品牌、竞品舆情;
- 普通用户:daily模式每日汇总行业、时事新闻,减少资讯APP依赖。
七、项目优缺点总结
优势
- 极低使用门槛,Fork即可用,无需服务器、无需编程;
- 过滤规则灵活精准,可精准屏蔽无关垃圾资讯;
- 双部署方案,免费云端/私有容器二选一;
- 多办公通讯软件全覆盖,消息直达手机;
- 自带网页归档,历史热点可回溯查看。
局限
- 数据源依赖外部newsnow,平台新增需手动修改配置;
- GitHub Actions免费额度有限,高频监控推荐Docker自建;
- 无独立后台管理界面,所有配置依靠修改文本文件。
八、开源与使用说明
开源协议LICENSE,问题可提Issues或公众号留言;使用核心流程:Fork仓库→配置机器人密钥→设置关键词与推送模式→自动定时运行。