我让openclaw做了一个 B 站弹幕分析SKILL:自动抓取 + 词云 + 情感分析 + 舆情报告(开源)
大家好,最近我让openclaw把我自己在内容运营里常用的一套“弹幕分析流程”做成了一个可复用的小项目:
👉 bilibili-danmaku
GitHub:https://github.com/Smartloe/bilibili-danmaku
核心目标很直接:
- 给我一个 B 站视频链接
- 自动抓取弹幕
- 自动做分词清洗
- 自动输出词云图 + 情感分析 + 舆情报告
适合做内容复盘、热点观察、用户反馈提炼。
一、这个项目解决了什么问题?
日常做视频复盘时,常见痛点是:
- 弹幕采集麻烦:每次手动导出/复制,效率很低。
- 词云质量不稳定:不清洗会被“哈哈哈/666/这边那边”污染。
- 舆情判断缺标准:没有统一口径,沟通时容易“拍脑袋”。
这个项目把整条链路打通了:
抓取 → 清洗 → 关键词 → 词云 → 情感 → 报告
二、功能特性
- ✅ 自动解析
BVID -> CID,抓取弹幕 XML - ✅ 导出结构化数据:CSV / JSON / TXT
- ✅
jieba分词 + 干扰词清洗 - ✅
SnowNLP情感分析(正/中/负分布) - ✅
wordcloud生成高密度中文词云 PNG - ✅ 自动生成 Markdown 舆情报告
三、项目结构
bilibili-danmaku/ ├── SKILL.md ├── README.md ├── README.en.md ├── requirements.txt ├── scripts/ │ ├── ensure_env.sh │ ├── fetch_danmaku.py │ ├── fetch.sh │ ├── analyze_danmaku.py │ └── analyze.sh ├── references/ │ ├── methodology.md │ └── stopwords.default.txt └── output/ 四、在 OpenClaw 里一键使用(推荐)
如果你本身就在用 OpenClaw,最省事的方式是直接从 ClawHub 安装:
clawhub install bilibili-danmaku 安装后开启一个新的 OpenClaw 会话,直接给视频链接即可调用技能完成:
- 弹幕抓取
- 词云生成
- 情感分析
- 舆情报告输出
五、源码方式(3 步)
1)安装依赖
cd bilibili-danmaku bash scripts/ensure_env.sh 2)抓取弹幕
python3 scripts/fetch_danmaku.py \--url"https://www.bilibili.com/video/BV17JfuBqEqg"\--outdir"./output"支持短链:
python3 scripts/fetch_danmaku.py --url"https://b23.tv/gO0nMGs"--outdir"./output"3)分析并出报告
bash scripts/analyze.sh \"./output/<xxx>_danmaku.csv"\"./output/<xxx>_meta.json"\"./output"\"task_name"输出文件:
task_name_top_words.jsontask_name_sentiment.jsontask_name_wordcloud.pngtask_name_report.md
六、为什么这版词云更“干净”?
我在分词后做了数据清洗,重点是四件事:
- 停用词过滤:默认词表 + 自定义词表
- 噪声词过滤:比如
哈哈哈 / 233 / 666 / 纯符号 - token 规范化:别名合并、重复字符压缩
- 高文档频率短词剔除:去掉“出现太广但信息量低”的词
你还可以临时追加干扰词:
./.venv/bin/python scripts/analyze_danmaku.py \--csv"./output/<xxx>_danmaku.csv"\--meta"./output/<xxx>_meta.json"\--outdir"./output"\--name"task_clean"\ --extra-stopwords "妈妈,亲戚,那边,这边"七、情感分析怎么做?
使用 SnowNLP,每条弹幕都会得到一个 0~1 的情绪分:
>= 0.60:positive<= 0.40:negative- 中间:neutral
最后汇总成:
- 正向/中性/负向占比
- 平均情绪分
- 代表性正负样本
这对“选题复盘”和“评论区风向判断”很实用。
八、适用场景
- 内容运营:复盘某条视频的用户反馈
- 新媒体团队:快速形成“可汇报”的舆情材料
- 创作者:看粉丝关注点与争议点
- 数据分析同学:做多视频横向对比
九、我自己的使用建议
如果你要把它用于日常工作流,我建议:
- 先跑单视频,确认数据链路与参数
- 再跑批量视频,做横向对比
- 维护一个自己的
stopwords词表(按垂类持续迭代) - 报告里优先看三件事:
- 情绪结构是否异常
- 高频词是否偏离内容定位
- 负向样本是否集中在某个可改进点
十、开源地址
如果你刚好也在做内容分析,欢迎直接拿去用:
🔗 GitHub:https://github.com/Smartloe/bilibili-danmaku
欢迎提 issue / PR,一起把它打磨成更顺手的中文内容分析工具。🚀
十一、免责声明
请遵守 B站平台规则与相关法律法规。
本项目仅用于公开数据分析与研究,不用于违规抓取和滥用。