首先分辨視頻是不是互動視頻可以看
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