帮你把抖音、微博、B站、快手、知乎、头条、百度等7个平台的热搜聚合在一起,省得一个个平台去看。想知道今天全网都在聊什么、哪个热点值得追、趋势怎么走,问我准没错。查热榜、导报告、订阅推送都行
---
name: trending-hub
description: 帮你把抖音、微博、B站、快手、知乎、头条、百度等7个平台的热搜聚合在一起,省得一个个平台去看。想知道今天全网都在聊什么、哪个热点值得追、趋势怎么走,问我准没错。查热榜、导报告、订阅推送都行
dependency:
python:
- 无第三方依赖(使用标准库 urllib.request)
---
# 全网热点追踪
## 1. 简介
**一句话定位**:全网热点聚合追踪工具,实时抓取抖音、微博、B站、快手、知乎、头条、百度等7大平台热搜数据,一站式查看全网热点。
**核心价值**:解决内容创作者、市场运营者在热点追踪中的三大痛点:
- **热点分散难整合**:无需逐个平台查看,一次聚合7大平台热榜
- **跨平台对比困难**:自动识别同一事件在不同平台的讨论差异和热度表现
- **趋势判断模糊**:基于热度值、上榜时长、平台覆盖等维度智能预测热点走势
**适用对象**:内容创作者、市场运营人员、媒体编辑、品牌策划、热点追踪爱好者。
**不支持**:该技能不支持查询特定热词详情,仅提供全网热点榜聚合查询。
## 2. 功能特性
### 核心功能
| 功能模块 | 能力描述 | 核心价值 |
|----------|----------|----------|
| 🔍 全网热榜聚合 | 实时抓取7大平台热搜数据 | 一键获取全网热点,告别逐平台查看 |
| 🔗 跨平台事件识别 | 智能识别同一事件在不同平台的表述 | 自动归并相似话题,避免重复统计 |
| 📊 热度趋势预测 | 基于热度值、时长、平台覆盖预测走势 | 提前判断热点生命周期,把握创作窗口 |
| 📈 TOP10榜单提供 | 按综合热度排序输出TOP10热点 | 快速定位高价值选题 |
| 💬 跨平台讨论分析 | 展示不同平台的讨论焦点和差异 | 深度洞察舆论生态,精准定位受众 |
| ⏰ 订阅推送服务 | 定时推送最新热榜/昨日热榜 | 持续追踪热点动态,不错过关键机会 |
### 特色亮点
- **小时级更新**:数据每小时更新,保持实时性
- **智能关键词泛化**:输入"体育"自动扩展为10个相关关键词
- **按平台分类输出**:百度、知乎、微博、抖音、B站、快手、头条依次展示
- **完整榜单查看**:每个平台最多支持查看完整50条数据
- **动态智能输出**:无数据平台自动跳过,数据不足自动调整展示数量
## 3. 一键安装
### 鉴权
#### 获取 API Key
请前往 [红狐hub](https://redfox.hk/settings/api-keys?source=github) 获取API KEY
#### 配置 API Key
方案1: 以OpenClaw为例,将REDFOX_API_KEY添加到~/.openclaw/openclaw.json中,部分内容如下:
```bash
{ "env": { "REDFOX_API_KEY": "ak_xxxx..." } }
```
方案2: 终端配置:
```bash
export REDFOX_API_KEY="ak_xxxx..."
```
### 依赖安装
```bash
pip install python-dateutil
```
### 环境变量配置
| 变量名 | 说明 | 必填 |
|--------|------|------|
| `REDFOX_API_KEY` | 红狐 API Key | 是 |
## 4. 使用指南
### 基础使用
#### 查询最新热榜(默认)
```bash
python scripts/fetch_hotspot.py --source "全平台热点事件"
```
数据为小时级更新,自动查询前一个完整小时。例如:当前时间为 `2026-04-16 17:42:00`,则查询 `2026-04-16 16:00:00` 到 `2026-04-16 17:00:00` 的数据。
#### 查询历史热榜
```bash
# 查询昨日热榜(假设今天是2026-04-16)
python scripts/fetch_hotspot.py --source "全平台热点事件" --start-date "2026-04-15 00:00:00" --end-date "2026-04-16 00:00:00"
```
**日期范围规则**:
- 时间格式为 `YYYY-MM-DD HH:MM:SS`,也可简写为 `YYYY-MM-DD`(自动补全为 00:00:00)
- 日期范围是 `[start_date, end_date)` 左闭右开区间
- 例如:`--start-date "2026-04-01 00:00:00" --end-date "2026-04-02 00:00:00"` 查询的是4月1日当天的数据
- 最长查询范围:**30天**
### 高级使用
#### 筛选特定平台
```bash
python scripts/fetch_hotspot.py --source "全平台热点事件" --platforms "wb,dy,bz"
```
平台代码映射:
| 平台代码 | 平台名称 | 接口枚举值 |
|---------|---------|-----------|
| bd | 百度 | 7 |
| zh | 知乎 | 9 |
| wb | 微博 | 5 |
| dy | 抖音 | 2 |
| bz | B站 | 8 |
| ks | 快手 | 1 |
| tt | 头条 | 10 |
#### 关键词搜索与泛化
```bash
# 关键词筛选
python scripts/fetch_hotspot.py --source "全平台热点事件" --keywords "体育,足球"
# 关键词泛化扩展
python scripts/fetch_hotspot.py --source "全平台热点事件" --keywords "体育" --expand-keywords
```
**关键词泛化策略**:
- 大词(如"体育"、"娱乐"、"科技"):自动扩展为10个泛化词
- 例:"体育" -> ["体育", "足球", "篮球", "运动", "健身", "奥运", "世界杯", "NBA", "CBA", "乒乓球"]
- 精确词(如"苏超"、"某明星名字"):直接传入原词,不进行扩展
- 支持泛化的大类:体育、娱乐、科技、财经、社会、游戏、汽车、美食、旅游、时尚等
#### 查看完整榜单
当用户回复「查看{平台名}完整榜单」时:
```bash
python scripts/fetch_hotspot.py --source "全平台热点事件" --platforms wb --output markdown
```
### 智能体时间判断逻辑
根据用户意图自动选择查询方式(假设今天日期为T):
| 用户意图 | 查询方式 | 脚本参数 |
|----------|----------|----------|
| "今日热点" / "今日热榜" | 查询今日0:00到当前整点 | `--start-date "T 00:00:00" --end-date "T {当前小时}:00:00"` |
| "最新热榜" / "热点榜" | 查询前一个完整小时 | 无需指定时间参数 |
| "昨日热榜" / "昨天热榜" | 查询昨日0:00到24:00 | `--start-date "T-1 00:00:00" --end-date "T 00:00:00"` |
| "本周热榜" / "这周热榜" | 查询本周一0:00到当前整点 | `--start-date "{本周一日期} 00:00:00" --end-date "T {当前小时}:00:00"` |
**本周一时间计算规则**:
- 计算公式:本周一 = 今天日期 - (今天星期几 - 1) 天
- 示例:今天是2026-05-09(周六),本周一 = 2026-05-04
**对比查询场景**:当用户需要对比多天数据时,需分别查询多天的热榜:
```bash
# 对比昨天和今天的热榜(假设今天是2026-04-16)
python scripts/fetch_hotspot.py --source "全平台热点事件" --start-date "2026-04-15 00:00:00" --end-date "2026-04-16 00:00:00" # 昨日
python scripts/fetch_hotspot.py --source "全平台热点事件" --start-date "2026-04-16 00:00:00" --end-date "2026-04-17 00:00:00" # 今日实时
```
### 输出格式说明
**compact模式(默认)**:输出极简结构化数据(元信息+平台TOP3概览),末尾附带完整数据文件路径 `dataFile: {path}`。智能体应使用compact模式获取数据,从 `dataFile` 路径读取完整JSON数据。只允许调用1次接口。
**输出格式模板**:按平台分类输出,每个平台展示TOP10热点。智能输出规则:
- 如果某平台没有热点数据,则不展示该平台
- 如果某平台数据少于10条,则展示实际数量
- 数据>10条时显示"该平台还有{N}条数据未展示"
- 平台顺序:百度 → 知乎 → 微博 → 抖音 → B站 → 快手 → 头条
输出格式模板详见 [references/output-templates.md](references/output-templates.md)。
### 热度值处理
- 如果热度值已包含单位(如"万"、"亿"),直接使用原始值
- 如果热度值为纯数字,转换为"数字+万"格式(`hotCount // 10000` 整数除法)
- 示例:百度热度 `7904508` → `790万`
- 热度值格式必须为"数字+万",禁止包含其他字符
### 订阅推送服务
- **每日推送**:每天定时推送最新热榜(如早8点、晚8点)
- **每周推送**:每周定时推送热门汇总(如周一早上)
- 推送格式:精简版TOP10表格 + 小总结(各平台TOP3 + 全网热点小总结)
### 命令速查表
| 场景 | 命令 |
|------|------|
| 最新热榜 | `python scripts/fetch_hotspot.py --source "全平台热点事件"` |
| 今日热榜 | `python scripts/fetch_hotspot.py --source "全平台热点事件" --start-date "T 00:00:00" --end-date "T HH:00:00"` |
| 昨日热榜 | `python scripts/fetch_hotspot.py --source "全平台热点事件" --start-date "T-1 00:00:00" --end-date "T 00:00:00"` |
| 指定平台 | `python scripts/fetch_hotspot.py --platforms "wb,dy"` |
| 关键词筛选 | `python scripts/fetch_hotspot.py --keywords "体育,足球"` |
| 关键词泛化 | `python scripts/fetch_hotspot.py --keywords "体育" --expand-keywords` |
### 数据结构说明
```json
{
"status": "success",
"stat_time": "2026-05-08 07:35:15",
"total_count": 330,
"hotspots": [
{
"title": "热点标题",
"url": "https://...",
"hotCount": 7904508,
"index": 1,
"gmtCreate": "2026-05-08 06:00:14",
"platCode": "bd",
"platName": "百度"
}
],
"query_range": {
"type": "realtime",
"start_date": "2026-05-08 06:00:00",
"end_date": "2026-05-08 07:00:00"
}
}
```
| 字段 | 说明 |
|------|------|
| hotspots | 热点列表,包含所有平台的热点数据 |
| title | 热点标题(已处理空格) |
| url | 热点链接(空格已转为%20) |
| hotCount | 热度值(纯数字,已移除"万热度"等字符) |
| index | 平台内排名 |
| gmtCreate | 创建时间 |
| platCode | 平台代码:bd/bz/dy/ks/tt/wb/zh |
| platName | 平台名称:百度/B站/抖音/快手/头条/微博/知乎 |
## 5. 使用场景
### 场景一:内容创作者追热点
**角色**:自媒体创作者
**需求**:每天早晨快速了解全网热点,确定当日选题方向
**使用方式**:输入"今日热点",获取7大平台实时热榜TOP10
**预期收益**:5分钟内掌握全网热点动态,精准定位高价值选题
### 场景二:市场运营竞品分析
**角色**:品牌市场运营
**需求**:对比同一事件在不同平台的讨论差异,了解舆论生态
**使用方式**:查询指定关键词热点,观察跨平台讨论焦点
**预期收益**:深度洞察不同平台用户讨论差异,制定差异化运营策略
### 场景三:PR危机监测
**角色**:公关经理
**需求**:实时监测特定品牌或事件在多平台的热度变化
**使用方式**:通过关键词筛选 + 订阅推送,持续追踪相关热点
**预期收益**:第一时间发现舆情信号,抢占危机应对窗口
### 场景四:热点趋势研究
**角色**:数据分析师
**需求**:对比多天热点数据,分析热点演变趋势
**使用方式**:使用对比查询分别查询多天数据,分析热度变化
**预期收益**:基于数据判断热点生命周期,输出趋势分析报告
## 6. 项目架构
### 目录结构
```
trending-hub/
├── SKILL.md # 技能描述文件
├── scripts/
│ └── fetch_hotspot.py # 热点数据获取脚本
└── references/
└── output-templates.md # 输出格式模板参考
```
### 技术栈
| 组件 | 技术 | 说明 |
|------|------|------|
| 脚本语言 | Python 3 | 使用标准库 urllib.request |
| 外部依赖 | python-dateutil | 日期处理 |
| 数据接口 | Redfox API | 多平台热点数据聚合 |
| 输出格式 | JSON / Markdown | 结构化和可视化输出 |
### 核心模块说明
| 模块 | 功能 |
|------|------|
| `fetch_hotspot.py` | 从API获取多平台热点数据,支持平台筛选、关键词搜索、时间范围查询、关键词泛化 |
| `output-templates.md` | 定义对话输出格式模板,规范各平台TOP10表格和小结格式 |
### 资源索引
- 脚本: 见 [scripts/fetch_hotspot.py](scripts/fetch_hotspot.py)(用途与参数:从API获取热点数据,支持平台筛选)
- 参考: 见 [references/output-templates.md](references/output-templates.md)(何时读取:对话输出时参考格式模板)
## 7. 常见问答
### 安装相关
**Q: 脚本运行报错 "ModuleNotFoundError: No module named 'dateutil'"**
A: 请安装依赖:`pip install python-dateutil`
**Q: 提示 "REDFOX_API_KEY not found"**
A: 请确保已配置环境变量 `REDFOX_API_KEY`,可参考上方鉴权章节配置。
### 使用相关
**Q: 为什么查询"今日热点"显示的不是今天的数据?**
A: 数据为小时级更新,最新热榜查询的是前一个完整小时的数据。如需查询今日数据,使用 `--start-date` 和 `--end-date` 参数指定今天0:00到当前整点。
**Q: 支持查询多久之前的数据?**
A: 最长查询范围为30天。
**Q: 如何查看某个平台的完整50条榜单?**
A: 回复「查看{平台名}完整榜单」即可,系统会使用 `--platforms` 参数筛选该平台并输出完整50条数据。
**Q: 热点标题无法点击?**
A: 标题以 Markdown 超链接格式 `[标题](url)` 输出,无URL的热点仅显示文本。
### 故障排除
**Q: API返回空数据?**
A: 可能原因:1) 网络连接问题;2) API Key 无效或过期;3) 查询时间范围超出限制。请检查网络和API Key配置。
**Q: 输出被截断?**
A: 默认使用compact模式避免截断。如仍被截断,从compact输出末尾的 `dataFile` 路径读取完整JSON数据。
**Q: 关键字搜索没有结果?**
A: 尝试使用 `--expand-keywords` 参数对关键词进行泛化扩展,扩大搜索范围。
Creator's repository · redfox-data/redfox-community