获取 B 站热门数据 → 自动调用子 Agent 分析 → 持久化储存 → 趋势预测
requests 库| 类型 | 榜单 |
|---|---|
| ------ | ------ |
| 普通视频 | 全站、动画、游戏、音乐、舞蹈、鬼畜、影视、娱乐、知识、科技数码、美食、汽车、时尚美妆、体育运动、动物 |
| PGC 内容 | 番剧、国创、纪录片、电影、电视剧 |
> 以下命令在 skill 目录下执行(脚本会根据相对于工作区的位置自动创建所需目录)
cd skills/Bilibili-trending/scripts
python bilibili_all.py --rank <榜单>
示例:
python bilibili_all.py --rank game # 游戏榜
python bilibili_all.py --rank tv # 电视剧榜
python bilibili_all.py --rank anime # 番剧榜
python bilibili_all.py --rank all # 全站榜
python bilibili_all.py --list
python bilibili_all.py --rank game --manual
python bilibili_all.py --rank game --alert # 抓取后自动运行异常检测
python bilibili_all.py --rank game -a -m # 手动模式 + 异常检测
脚本自动完成:
{工作区}/json/output_{rank_type}.jsontrend.json脚本自动 spawn 子 Agent,发送分析 prompt
分析完成后,报告自动保存到:
{工作区}/memory/bilibili-analysis/{榜单名称}_{时间}.md
例如:游戏_2026-04-02-15-30-45.md
> 在 skills/Bilibili-trending/scripts 目录下执行
python bili_trend.py trend # 全局趋势
python bili_trend.py trend game # 单榜单趋势
python bili_trend.py weekly # 全站周总结
python bili_trend.py weekly game # 单榜单周总结
python bili_trend.py monthly # 全站月总结
python bili_trend.py monthly game # 单榜单月总结
python bili_trend.py workflow game # 自动调用子 Agent
python bili_trend.py workflow game --manual # 仅输出 prompt
python bili_trend.py daemon # 默认 2h 间隔,采集全部 21 个榜单
python bili_trend.py daemon --interval 30m # 每 30 分钟采集一次
python bili_trend.py daemon -i 4h -r game,anime # 每 4 小时采集游戏+番剧榜
python bili_trend.py daemon --no-alert # 关闭异常检测
按 Ctrl+C 优雅停止。
如果没有 OpenClaw 环境:
sessions_spawn# 1. 正则提取 2-4 字中文
words = re.findall(r'[\u4e00-\u9fa5]{2,4}', title)
# 2. 统计词频
kw_counter = Counter(words)
# 3. 取 Top 10
top_keywords = [kw for kw, _ in kw_counter.most_common(10)]
| 变量 | 说明 | 默认值 |
|---|---|---|
| ------ | ------ | -------- |
BILIBILI_WORKSPACE | 工作区路径(JSON 和报告的输出目录) | 自动检测(scripts/ 往上 3 级) |
当使用 --alert 或 daemon 模式时,自动检测以下 4 类异常:
| 类型 | 级别 | 检测规则 |
|---|---|---|
| ------ | ------ | ---------- |
| 互动率飙升 | HOT | 视频互动率 > 历史均值 × 2.5 |
| 新 UP 主上榜 | INFO | UP 主首次出现在该榜单 |
| 分区热度突变 | WARN | 分区占比 > 历史均值 × 2.0 |
| 关键词爆发 | INFO | 新关键词首次进入 Top 10 |
预警数据保存到 memory/bilibili-analysis/alerts.json(最近 200 条),UP 主历史记录保存到 up_history_{rank_type}.json。
> 需要至少 3 条历史趋势记录才会启动检测。
scripts/
├── config.py # 21 个榜单配置
├── common.py # 共享工具(路径、持久化、关键词、prompt、API 重试、抓取、Agent 调用)
├── alerts.py # 异常检测(互动率、新UP主、分区突变、关键词爆发)
├── bilibili_all.py # 主入口:抓取 → 处理 → 保存 → 分析(支持 --alert)
└── bili_trend.py # 趋势分析:trend / weekly / monthly / workflow / daemon
脚本会在工作区自动创建以下目录结构:
{工作区}/
├── json/ # JSON 数据目录
│ └── output_{rank_type}.json # 原始数据(含 owner 字段)
└── memory/bilibili-analysis/ # 分析结果目录
├── trend.json # 趋势累计数据(最近 60 条)
├── alerts.json # 预警记录(最近 200 条)
├── up_history_game.json # 游戏榜历史 UP 主
├── 游戏_2026-04-02-15-30-45.md # 分析报告
├── weekly-2026-W14.md # 周总结
└── monthly-2026-04.md # 月总结
owner 字段,支持 UP 主生态分析共 2 个版本