首先分辨视频是不是互动视频可以看
https://api.bilibili.com/x/player.so?id=cid:1&aid=89017
这个api返回的xml中的
<interaction>标签
普通的视频中该标签是空的,而在互动视频中返回内容大致如下
<interaction>{"graph_version":8758,"msg":"","error_toast":"剧情图被修改已失效"}</interaction>
里面的graph_version就是爬取互动视频的必要参数
cid是视频分p时的id,视频只有一p的时候随便填也能得到结果,但是不填的话就爬不到东西
爬的时候注意加上 Referer
↓这样就行
Referer:https://www.bilibili.com
每个互动视频都有一个独立的graph_version
可以用这个获取互动视频的选项
https://api.bilibili.com/x/stein/nodeinfo?aid=63800362&graph_version=8758
aid就是互动视频的av号,返回结果如下
通过该返回可获取选项nodeid
graph_version必加,nodeid不加默认获取互动视频的片头,加了就是获取选项分支
↓
https://api.bilibili.com/x/stein/nodeinfo?aid=63800362&node_id=232462
来源:oschina
链接:https://my.oschina.net/u/4265623/blog/4298022