B站弹幕舆情分析 Skill
专注于弹幕舆情与节奏分析的智能工具,输入B站视频链接,自动提取弹幕数据并生成专业的分析提示词,供大模型深度解读舆情走向、情感演变和互动节奏。
核心功能
- - ✅ 弹幕提取 - 提取视频所有弹幕(滚动、底端、顶端等全部类型)
- ✅ 时间分段分析 - 将弹幕按视频时间轴分10段,便于分析节奏变化
- ✅ 情感统计概览 - 统计正面/负面/疑问关键词占比
- ✅ 弹幕采样整理 - 每段精选代表性弹幕,生成结构化分析数据
- ✅ Markdown分析报告 - 自动生成完整的Markdown格式舆情分析报告
- ✅ 专业分析提示词 - 生成可直接使用的大模型分析提示词
- ✅ 无需登录 - 使用B站公开API,完全免费
前置条件
1. 环境要求
- - Python 3.8+
- 网络可访问 B站 API
- 大模型对话能力(用于生成分析结果)
2. 依赖安装
CODEBLOCK0
使用方式
对话中使用
CODEBLOCK1
命令行使用
CODEBLOCK2
工作流程
CODEBLOCK3
输出内容
1. 视频信息
2. 弹幕统计概览
- - 弹幕类型分布(滚动/底端/顶端等)
- 正面关键词占比
- 负面关键词占比
- 疑问句占比
3. 时间分段弹幕(10段)
每段包含:
- - 时间范围
- 弹幕数量
- 精选弹幕样本(每段最多10条)
4. 大模型分析提示词
生成结构化的分析提示词,包含以下维度:
舆情分析
节奏分析
内容特征
舆情风险点
技术实现
核心API接口
| 数据 | 接口URL | 参数 |
|---|
| 视频信息 | INLINECODE0 | bvid |
| 弹幕数据 |
https://api.bilibili.com/x/v1/dm/list.so?oid={cid} | oid(视频cid) |
请求头设置
CODEBLOCK4
情感关键词
正面关键词: 牛、强、棒、好、赞、顶、泪目、感动、喜欢、爱、甜、炸、绝、完美、厉害、超
负面关键词: 烂、差、垃圾、废物、蠢、尴尬、难、崩、无语、失望、难看、无聊、扯、假
疑问关键词: ?、?、怎么、为什么、什么、如何、是不是、能不能
输出文件
JSON格式 (xxx_弹幕分析数据.json)
CODEBLOCK5
分析提示词文件 (xxx_分析提示词.txt)
可直接复制给大模型的完整分析提示词,包含:
- - 视频信息
- 弹幕统计
- 分段弹幕内容
- 分析要求(舆情、节奏、内容特征、风险点)
Markdown分析报告 (xxx_弹幕舆情分析报告.md)
自动生成的完整Markdown格式分析报告,包含:
报告结构
- - 视频信息: 标题、BV号、UP主、时长、弹幕总数
- 弹幕统计概览: 类型分布、正面/负面/疑问关键词占比
- 弹幕时间分布: 密度分布图、高密度时段TOP3
- 分时段弹幕详情: 每段代表性弹幕样本
- 舆情分析: 整体情感倾向、情感峰值时段、高能预警点
- 节奏分析: 弹幕密度变化特征
- 主要发现: 弹幕内容特征总结
- 风险提示: 舆情风险预警
- 总结: 核心发现总结
报告示例
CODEBLOCK6
脚本参数
| 参数 | 说明 | 示例 |
|---|
| INLINECODE5 | B站视频链接或BV号 | INLINECODE6 |
| INLINECODE7 |
输出目录 |
-o ./output |
注意事项
- 1. 无需登录: 脚本使用B站公开API,无需登录即可提取弹幕
- 弹幕采样: 为控制数据量,每段时间弹幕最多采样20条
- 频率限制: 建议控制请求频率,避免触发风控
- 大模型分析: 脚本仅生成分析提示词,实际分析需大模型完成
故障排除
| 问题 | 原因 | 解决 |
|---|
| 获取弹幕为0 | CID获取失败或视频无弹幕 | 检查网络或视频有效性 |
| 412/403错误 |
风控拦截 | 添加延时或稍后重试 |
| 视频信息获取失败 | BV号无效 | 检查链接格式是否正确 |
文件结构
CODEBLOCK7
实际案例
案例:三十五年的《宇宙级安全声明》弹幕舆情分析
用户输入:
CODEBLOCK8
执行过程:
- 1. 提取BV号: INLINECODE9
- 2. 获取视频信息:
- 标题:三十五年的《宇宙级安全声明》,东大,开始撤回!
- UP主:老王聊天
- 时长:12:17
- 3. 获取弹幕:通过CID调用弹幕接口,获取到 1800 条弹幕
- 4. 数据整理:
- 按时间分10段
- 统计情感关键词:正面187次,负面68次,疑问182次
- 每段采样代表性弹幕
- 5. 生成输出文件:
- JSON数据文件
- 分析提示词文件
-
Markdown分析报告 ← 核心新增功能
分析结果:
10.39% |
| 负面关键词占比 | 3.78% |
| 正面/负面比 | 2.75 倍 |
| 整体情感倾向 | 正面 |
| 最高密度时段 | 11:03-12:17 (290条) |
弹幕密度分布:
CODEBLOCK9
输出成果:
- - ✅ 成功提取 1800 条弹幕
- ✅ 自动生成 Markdown 分析报告
- ✅ 报告包含完整舆情分析(视频信息、统计概览、时间分布、舆情分析、节奏分析、风险提示、总结)
报告预览(部分):
CODEBLOCK10
B站弹幕舆情分析 Skill
专注于弹幕舆情与节奏分析的智能工具,输入B站视频链接,自动提取弹幕数据并生成专业的分析提示词,供大模型深度解读舆情走向、情感演变和互动节奏。
核心功能
- - ✅ 弹幕提取 - 提取视频所有弹幕(滚动、底端、顶端等全部类型)
- ✅ 时间分段分析 - 将弹幕按视频时间轴分10段,便于分析节奏变化
- ✅ 情感统计概览 - 统计正面/负面/疑问关键词占比
- ✅ 弹幕采样整理 - 每段精选代表性弹幕,生成结构化分析数据
- ✅ Markdown分析报告 - 自动生成完整的Markdown格式舆情分析报告
- ✅ 专业分析提示词 - 生成可直接使用的大模型分析提示词
- ✅ 无需登录 - 使用B站公开API,完全免费
前置条件
1. 环境要求
- - Python 3.8+
- 网络可访问 B站 API
- 大模型对话能力(用于生成分析结果)
2. 依赖安装
bash
pip install requests
使用方式
对话中使用
@skill://B站弹幕舆情分析 请分析这个视频的弹幕舆情:https://www.bilibili.com/video/BV1xx97xx9xx
命令行使用
bash
提取弹幕并生成分析数据
python main.py https://www.bilibili.com/video/BV1xx97xx9xx
指定输出目录
python main.py https://www.bilibili.com/video/BV1xx97xx9xx -o /path/to/output
使用BV号
python main.py BV1xx97xx9xx
工作流程
输入B站视频链接
│
▼
- 1. 提取BV号 (正则匹配)
│
▼
- 2. 获取视频信息 (标题、UP主、时长、CID等)
│
▼
- 3. 获取弹幕数据 (XML/压缩格式)
│
▼
- 4. 数据整理与分析
├── 按时间分段(10段)
├── 统计弹幕类型分布
├── 情感关键词统计(正面/负面/疑问)
└── 每段采样代表性弹幕
│
▼
- 5. 生成分析提示词
└── 输出结构化提示词供大模型分析
输出内容
1. 视频信息
2. 弹幕统计概览
- - 弹幕类型分布(滚动/底端/顶端等)
- 正面关键词占比
- 负面关键词占比
- 疑问句占比
3. 时间分段弹幕(10段)
每段包含:
- - 时间范围
- 弹幕数量
- 精选弹幕样本(每段最多10条)
4. 大模型分析提示词
生成结构化的分析提示词,包含以下维度:
舆情分析
节奏分析
内容特征
舆情风险点
技术实现
核心API接口
| 数据 | 接口URL | 参数 |
|---|
| 视频信息 | https://api.bilibili.com/x/web-interface/view?bvid={bvid} | bvid |
| 弹幕数据 |
https://api.bilibili.com/x/v1/dm/list.so?oid={cid} | oid(视频cid) |
请求头设置
python
DEFAULT_HEADERS = {
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36...,
Referer: https://www.bilibili.com/,
Origin: https://www.bilibili.com
}
情感关键词
正面关键词: 牛、强、棒、好、赞、顶、泪目、感动、喜欢、爱、甜、炸、绝、完美、厉害、超
负面关键词: 烂、差、垃圾、废物、蠢、尴尬、难、崩、无语、失望、难看、无聊、扯、假
疑问关键词: ?、?、怎么、为什么、什么、如何、是不是、能不能
输出文件
JSON格式 (xxx_弹幕分析数据.json)
json
{
video: {
bvid: BV1xx97xx9xx,
title: 视频标题,
owner: UP主名称,
duration: 600,
duration_str: 10:00
},
statistics: {
total_count: 1234,
type_distribution: {滚动: 1000, 底端: 200, 顶端: 34},
positivekeywordcount: 150,
negativekeywordcount: 50,
questionkeywordcount: 80,
positive_rate: 12.15,
negative_rate: 4.05,
question_rate: 6.48
},
time_segments: [...],
sampled_danmakus: [...]
}
分析提示词文件 (xxx_分析提示词.txt)
可直接复制给大模型的完整分析提示词,包含:
- - 视频信息
- 弹幕统计
- 分段弹幕内容
- 分析要求(舆情、节奏、内容特征、风险点)
Markdown分析报告 (xxx_弹幕舆情分析报告.md)
自动生成的完整Markdown格式分析报告,包含:
报告结构
- - 视频信息: 标题、BV号、UP主、时长、弹幕总数
- 弹幕统计概览: 类型分布、正面/负面/疑问关键词占比
- 弹幕时间分布: 密度分布图、高密度时段TOP3
- 分时段弹幕详情: 每段代表性弹幕样本
- 舆情分析: 整体情感倾向、情感峰值时段、高能预警点
- 节奏分析: 弹幕密度变化特征
- 主要发现: 弹幕内容特征总结
- 风险提示: 舆情风险预警
- 总结: 核心发现总结
报告示例
markdown
B站视频弹幕舆情与节奏分析报告
视频信息
BV1xx |
| 弹幕总数 | 1234 条 |
弹幕统计概览
3.78% |
弹幕时间分布
| 时段 | 弹幕数 | 密度 |
|00:00-01:13 | 201 | ######---- |
|01:13-02:27 | 165 | #####----- |
舆情分析
整体情感倾向: 正面
结论: 观众对该视频的整体情感倾向为正面...
脚本参数
| 参数 | 说明 | 示例 |
|---|
| url | B站视频链接或BV号 | BV1ky97B9Efn |
| -o, --output |
输出目录 | -o ./output |
注意事项
- 1. 无需登录: 脚本使用B站公开API,无需登录即可提取弹幕
- 弹幕采样: 为控制数据量,每段时间弹幕最多采样20条
- 频率限制: 建议控制请求频率,避免触发风控
- 大模型分析: 脚本仅生成分析提示词,实际分析需大模型完成
故障排除
| 问题 | 原因 | 解决 |
|---|
| 获取弹幕为0 | CID获取失败或视频无弹幕 | 检查网络或视频有效性 |
| 412/403错误 |
风控拦截 | 添加延时或稍后重试 |
| 视频信息获取失败 | BV号无效 | 检查链接格式是否正确 |
文件结构
B站弹幕舆情分析/
├── SKILL.md # 本说明文件
├── skillhubmeta.json # Skill元数据
├── main.py # 核心脚本
└── requirements.txt # Python依赖
实际案例
案例:三十五年的《宇宙级安全声明》弹幕舆情分析
用户输入:
@