type
status
date
Jan 7, 2026 09:03 AM
slug
summary
tags
category
icon
password
comment
🚀 一、Fork 项目到你的 GitHub 账户
点击右上角“Fork”,创建你自己的副本。
🚀 推荐的开始方式:Use this template
为了保持仓库整洁,避免继承冗余的历史记录,我建议你使用 Template 模式:
- 点击原仓库页面右上角的绿色 [Use this template] 按钮。
- 选择 "Create a new repository"。
💡 为什么要这样做?
- Use this template:创建一个全新的、干净的仓库,没有历史包袱。
- Fork:会保留完整的提交历史和关联关系,占用 GitHub 更多资源。
🔐 二、配置 GitHub Secrets(选择推送平台)
进入你 Fork 后的仓库:
Settings → Secrets and variables → Actions → New repository secret填入你要使用的推送平台的 Secret。
可多个平台同时使用。
例如:
保存后看不到内容属于正常(GitHub 自动隐藏)。
💬 三、我的使用体验(真实反馈)
🟦 ntfy(免费开源)
- 优点:下载客户端即用,无需注册
- 缺点:排版不太美观,偶尔乱码
✔ 适合测试用,不适合作为主力通知。
🤖 Telegram Bot
- 国内环境直接无法访问(被墙)
- GitHub Actions 出口 IP 不稳定,可能无法推送
❌ 不推荐国内用户使用。
📧 邮箱推送
- GitHub Actions IP 流动性大
- 网易、QQ 邮箱会判定风险自动拒绝
❌ 也不推荐。
🟩 飞书(最稳定、最推荐)
✔ 国内可用
✔ 网络稳定
✔ 群消息推送方便
✔ 支持两个方案,推荐方案二
👉 飞书 = 最佳通知方式(我个人强烈推荐)
🤝 四、飞书 Webhook 配置(方案一 & 方案二)
🅰️ 方案一:简单配置(适合个人)
📱 必须注意的重要步骤!
⚠ 群必须先在手机飞书 APP 中创建,否则无法绑定机器人到群。
⚠ 机器人必须点击“发布”才会生效,否则根本无法使用。
(这两个是很多人忽略的关键点)
方案一配置流程
1️⃣ 访问机器人指令页面
2️⃣ 创建指令 → 选择 Webhook 触发
复制 Webhook 地址备用。
3️⃣ 参数填写:
4️⃣ 操作 → “通过官方机器人发送消息”
- 标题:
TrendRadar 热点监控
5️⃣ 添加 “Webhook 触发” 节点(关键)
配置完成后,设为 Secret:
🅱️ 方案二(推荐):机器人应用(更稳定、更专业)
📱 同样重要的两个提醒!
- ⚠ 群必须在飞书手机端提前建好
- ⚠ 创建机器人后必须点击“发布”才能正常使用
方案二配置流程
1️⃣ 打开机器人应用后台
2️⃣ 创建新机器人 → 进入应用 → “流程设计”
3️⃣ 选择触发器 → Webhook 触发
复制 Webhook 地址备用。
4️⃣ “参数”填写:

5️⃣ 操作 → 发送飞书消息
勾选“群消息”,选择你创建的群。
标题填写:
TrendRadar 热点监控6️⃣ 添加“Webhook 触发”节点
完成后,将 Webhook 设置到 GitHub:
👉 方案二非常稳定,适合长期运行。
⏰ 五、CRON 定时任务(非常重要)
要删掉注释,这里给出示例与原因:
❗ 要删除的注释:
GitHub Actions 对 Cron 有严格格式要求,
注释写在 cron 行后面可能导致整个 workflow 无法解析。
推荐的正常 CRON 表达式
✔ 每小时执行一次
✔ 每半小时一次
✔ 早 8 点~晚 22 点,每小时执行(推荐)
GitHub Actions 触发会有延迟,不要期望严格准时。
📊 REPORT_MODE 报告模式说明(daily / incremental / current)
TrendRadar 的配置中,
REPORT_MODE(或 report.mode)用于控制 每次推送的内容方式。它支持三种模式:
🟦 1. daily(每日模式)
含义:
只推送今天(当天)抓取到的最新内容。
特点:
- 每日重置
- 只关注今天的热点
- 适合 每天固定推送一次 的场景
- 历史积累不会混入今日内容
推荐给:
- 想每天得到“今日热点总结”的用户
- 想保持干净、无重复的每日报告的人
🟩 2. incremental(增量模式)
含义:
每次只推送自上次推送以来新增的内容。
特点:
- 自动记录上一次推送的位置
- 不会重复推送,实际情况是每次推送会把先前的一起推送,不过在末尾会标记处此次新增内容
- 适合 一天多次推送 的场景
- 新内容出现就会推送,不会重复旧内容
实际体验:
👉 如果你设置每小时执行,这种模式最合理。
👉 多次抓取不会造成内容重复。
推荐给:
- 希望及时收到新内容(多次推送)的用户
- 内容希望“持续滚动更新”而不是每天重置的人
🟥 3. current(当前模式)
含义:
每次推送的都是本次抓取到的 所有当前发现的内容。
特点:
- 不去重,不管历史
- 每次执行都是一份全量报告
- 内容重复度可能很高
- 报性价比最低,但最简单粗暴
适合:
- Debug、测试
- 你想“看到这次抓取的全部内容”时
- 不关心重复、不关心历史记录的用户
🧠 三者对比表
模式 | 是否重复推送 | 是否记录历史 | 适合频率 | 场景 |
daily | 不重复(当天) | 当天重置 | 1次/天 | 每日热点总结 |
incremental | 不重复 | 持续记录 | 多次/天 | 最新消息、即时更新 |
current | 可能重复 | 不记录 | 任意 | 测试 / 全量输出 |
⭐ 最推荐使用哪个?
- 如果你每天只想推送一次 → daily
- 如果你每小时或每半小时执行 → incremental(最佳)
- 如果你正在调试抓取效果 → current
🐳 六、Docker 版本
TrendRadar 也支持 Docker 部署:
- 适合 VPS、服务器、自托管环境
- 更适合不想依赖 GitHub Actions 的用户
- 你提到需要的话可自行研究,仓库中有 Dockerfile
(如你需要,我可以帮你做 Docker-compose 示例)
🧩 七、企业微信 / 钉钉说明
你提到:
企业微信和钉钉我没有测试
所以教程中已移除,不做推荐。
如你以后要接入,我可以帮你写专门的 Webhook 配置章节。
🎯 八、总结
推送方式 | 推荐指数 | 使用体验总结 |
ntfy | ⭐⭐⭐ | 简单可用,但排版差 |
Telegram | ⭐⭐ | 国内基本不能用 |
邮箱 | ⭐ | GitHub IP 波动导致频繁失败 |
飞书方案一 | ⭐⭐⭐⭐ | 简单稳定,需要发布机器人 |
飞书方案二 | ⭐⭐⭐⭐⭐ | 最稳定、最专业,强烈推荐 |
Docker | ⭐⭐⭐⭐ | 理解能力强的用户可选,自托管最佳 |
拓展部分(感兴趣可以自行研究,喜欢可以给作者点个star):
🤖 AI 智能分析部署
TrendRadar v3.0.0 新增了基于 MCP (Model Context Protocol) 的 AI 分析功能,让你可以通过自然语言与新闻数据对话,进行深度分析。使用 AI 功能 的最佳前提是已使用本项目至少运行一天(积累新闻数据)
🔌 MCP 客户端
TrendRadar MCP 服务支持标准的 Model Context Protocol (MCP) 协议,可以接入各种支持 MCP 的 AI 客户端进行智能分析。
推送平台整理
教程补充
⚠️ 必需配置:远程云存储(GitHub Actions 环境必需,推荐 Cloudflare R2)
GitHub Secret 配置(⚠️ 以下 4 个配置项都是必需的):
Name(名称) | Secret(值)说明 |
S3_BUCKET_NAME | 存储桶名称(如 trendradar-data) |
S3_ACCESS_KEY_ID | 访问密钥 ID(Access Key ID) |
S3_SECRET_ACCESS_KEY | 访问密钥(Secret Access Key) |
S3_ENDPOINT_URL | S3 API 端点(如 R2: https://<account-id>.r2.cloudflarestorage.com) |
如何获取凭据(以 Cloudflare R2 为例):
- 进入 R2 概览:
- 在左侧侧边栏找到并点击
R2对象存储。
- 创建存储桶:
- 点击
概述
- 点击右上角的
创建存储桶(Create bucket)。
- 输入名称(例如
trendradar-data),点击创建存储桶。
- 创建 API 令牌:
- 回到 概述页面。
- 点击右下角
Account Details找到并点击Manage(Manage R2 API Tokens)。
- 同时你会看到
S3 API:https://<account-id>.r2.cloudflarestorage.com(这就是 S3_ENDPOINT_URL)
- 点击
创建 Account APl 令牌。
- ⚠️ 关键设置:
- 令牌名称:随意填写(如
github-action-write)。 - 权限:选择 对象
读和写。 - 指定存储桶:为了安全,建议选择
仅适用于指定存储桶并选中你的桶(如trendradar-data)。
- 点击
创建 API 令牌,立即复制 显示的Access Key ID和Secret Access Key(只显示一次!)。
- R2 免费额度:每月 10GB 存储 + 100万次读取,对本项目来说非常充足。
- 支付验证:开通 R2 即使是免费额度,Cloudflare 也要求绑定 PayPal 或信用卡进行身份验证(不会实际扣费,除非超过额度)。
🌟 GitHub Actions 签到周期修改教程
有些爬虫项目会有“试用期”机制,每隔一段时间需要手动 Check In 签到。如果你想延长周期,让程序可以跑得更久,这里教你如何修改签到时间。
1️⃣ 找到 workflow 文件
- GitHub 仓库里,workflow 文件一般在:
- 文件名可能是
crawler.yml或者作者自定义的名字
2️⃣ 定位签到逻辑
打开文件后,找到 Check Expiration 这段代码:
⚠️ 这里的 LIMIT_SECONDS 表示签到周期,单位是 秒
- 604800 秒 = 7 天(默认)
3️⃣ 修改签到周期
你可以根据需要修改周期:
周期 | 秒数 | 示例写法 |
15天 | 1,296,000 | LIMIT_SECONDS=1296000 |
30天(1个月) | 2,592,000 | LIMIT_SECONDS=2592000 |
60天(2个月) | 5,184,000 | LIMIT_SECONDS=5184000 |
180天(半年) | 15,552,000 | LIMIT_SECONDS=15552000 |
365天(1年) | 31,536,000 | LIMIT_SECONDS=31536000 |
示例:改成一个月
4️⃣ 保存 & 提交
- 保存修改后的
crawler.yml文件
- 提交到 GitHub 仓库:
- 下次 workflow 运行时,会按新的周期判断是否到期
5️⃣ 小提示 💡
- 🔹 签到提示显示在 GitHub Actions 日志里:
仓库 → Actions → 选择 workflow → 展开
Check Expiration step- 🔹 延长周期不会改变抓取频率,抓取频率由 cron 控制
- 🔹 无限长周期:如果不想出现到期提示,可以把整个 Check Expiration step 注释掉
🎉 就这样,你的爬虫就可以按照新的周期运行啦,既减少手动操作,又能保证抓取稳定!
- Author:WangLin
- URL:https://blog.273983.xyz//article/example-28
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts


📌 TrendRadar 热点监控 —— GitHub 部署流程 & 飞书推送注意事项(强化版教程)

