B站没有官方AI弹幕分析API,PHP中不存在bilibili.ai.analyzeDanmaku函数;获取弹幕需解析BV号得oid、携带有效SESSDATA和Referer调用分段接口,情感分析须依赖外部NLP服务或自建模型。

目前没有公开、稳定、可直接调用的「B站AI弹幕分析」官方API。所谓“提交视频ID获情感倾向数据”的功能,并非Bilibili对外开放的标准接口,也未在 bilibili-api(社区维护的Python SDK)、bilix 或 B站开放平台文档中出现。
为什么PHP里找不到 bilibili.ai.analyzeDanmaku 这类函数?
因为根本不存在这个函数——B站从未发布过名为 analyzeDanmaku 的AI分析接口。你看到的类似描述,通常来自以下几种情况:
- 第三方爬虫项目自行训练的情感模型(如用 PyTorch 分析抓取的弹幕文本),非B站提供
- 某些营销号或低代码平台包装的“伪AI服务”,实际调用的是私有后端或其它NLP API(如百度NLP、腾讯文智)
- 混淆了B站“弹幕导出”功能(
/x/v2/dm/web/history/seg.so)与AI分析能力
PHP能拿到弹幕原始数据吗?可以,但要绕过限制
PHP 本身不能直接访问 B站受 CORS 和 Referer 校验保护的弹幕接口,需借助服务端中转或模拟登录。关键点:
- 弹幕分段地址格式为:
https://api.bilibili.com/x/v2/dm/web/seg.so?type=1&oid=视频av号或bv号解析后的数字oid&pid=1&segment_index=1 -
oid不是 BV 号,需先请求https://api.bilibili.com/x/web-interface/view?bvid=BVxxxxxx解析出data.aid或data.cid - 必须携带有效的
Cookie(含SESSDATA)和Referer: https://www.bilibili.com/,否则返回{"code":-403,"message":"无权限访问"} - PHP 中用
cURL请求时,记得设置CURLOPT_HTTPHEADER和CURLOPT_COOKIE
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Referer: https://www.bilibili.com/',
'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
]);
curl_setopt($ch, CURLOPT_COOKIE, 'SESSDATA=xxx;'); // 替换为有效值
想做情感分析?得自己搭模型或接外部API
拿到弹幕文本后,PHP 本身不内置情感分析能力。可行路径只有两条:
立即学习“PHP免费学习笔记(深入)”;
- 调用外部 NLP 接口(推荐快速验证):
- 百度自然语言处理平台:
https://aip.baidubce.com/rpc/2.0/nlp/v1/sentiment_classify(需access_token) - 腾讯云文智:
https://nlp.tencentcloudapi.com/(需签名认证)
- 百度自然语言处理平台:
- 用 PHP 调用 Python 脚本(例如用
exec("python3 analyze.py")),在 Python 侧用transformers加载中文情感模型(如uer/roberta-finetuned-jd-binary-chinese) - 注意:弹幕文本需清洗(去表情、去链接、合并重复句式),否则模型效果极差
真正卡住大多数人的不是代码怎么写,而是 SESSDATA 有效期短、B站风控升级频繁、弹幕分段逻辑随 cid 动态变化——这些细节比“调用AI接口”难十倍。











