Bilibili 视频分析报告
分析B站视频,生成一份包含以下内容的可视化HTML报告:
- 视频基本信息(封面、UP主、分区、标签、简介)
- 核心数据(播放/弹幕/点赞/投币/收藏/转发/评论/互动率)
- 评论分析(词云、情感分布饼图、高频词柱状图、高赞评论TOP10)
- 相关视频推荐
前置检查
脚本依赖以下 Python 包,运行时会自动安装:
requests · jieba · wordcloud · matplotlib · Pillow
无需手动安装,直接运行即可。
快速使用
# 方式1:直接传入B站链接
python {baseDir}/scripts/analyze_bilibili.py "https://www.bilibili.com/video/BVxxxxxxxx"
# 方式2:只传BV号
python {baseDir}/scripts/analyze_bilibili.py BV1xxxxxxxx
# 方式3:自定义输出路径和评论页数(每页20条,默认5页=100条)
python {baseDir}/scripts/analyze_bilibili.py BV1xxxxxxxx --pages 8 --output ~/Desktop/report.html
参数说明
| 参数 | 默认值 | 说明 |
|------|--------|------|
| url | 必填 | B站视频链接或BV号 |
| --pages | 5 | 抓取评论页数(每页20条)|
| --output | bilibili_report.html | 输出HTML文件路径 |
典型工作流
- 用户提供B站链接或BV号
- 运行分析脚本(约30-60秒)
- 脚本在当前目录(或指定路径)生成
bilibili_report.html - 告诉用户文件路径,建议用浏览器打开
报告内容说明
互动率计算
互动率 = (点赞 + 投币 + 收藏 + 转发) / 播放量 × 100%
一般优质内容互动率 > 3%,超过 8% 属于高互动。
情感分析
基于关键词规则的简单情感分类(正向/负向/中性),适合快速了解评论氛围。
词云
基于 jieba 中文分词,过滤停用词后生成,反映评论中最关注的话题。
注意事项
- 无需登录:使用Bilibili公开API,无需账号Cookie
- 评论限制:Bilibili公开API每页最多20条,如需更多评论可增大
--pages - 稿件限制:充电专属、仅限会员等视频可能无法获取完整信息
- 请求频率:脚本内置随机延迟(0.3~0.7秒/页),避免触发频率限制
常见问题
| 问题 | 解决方案 |
|------|---------|
| 词云中文乱码 | 脚本自动查找系统中文字体,macOS/Linux通常正常,Windows请确保安装了中文字体 |
| 无法获取视频信息 | 检查BV号是否正确;视频可能已下架或设为私有 |
| API请求失败 | 网络问题或请求过于频繁,稍后重试 |
| 生成报告很慢 | 首次运行需安装依赖包;评论页数多时耗时较长 |
微信扫一扫