Bilibili 鬼畜区视频的拯救 —— 一个自动化视频缓存平台

B站被央视点名以后,鬼畜区已经岌岌可危。因此,提前动手,把B站鬼畜提前缓存到自己手里,是很有必要的。那么,先写爬虫吧。

先爬B站根据AV号获取视频的接口。

有一个重要的参数是cid。不同于aid(就是av号),这个参数藏得很深。但是还是被我找到了。就在 /video/av{aid}/ 的返回的HTML里面。

捕获.PNG

然后找到获取 flv 地址的地方:
https://interface.bilibili.com/v2/playurl?cid={cid}&appkey=84956560bc028eb7&otype=json&type=&quality=0&qn=0&sign=e25240322c03ac099f8144de2e32ea2a

响应长这个样子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
{
"from": "local",
"result": "suee",
"quality": 32,
"format": "flv480",
"timelength": 536325,
"accept_format": "flv720,flv480,flv360",
"accept_description": [
"高清 720P",
"清晰 480P",
"流畅 360P"
],
"accept_quality": [
64,
32,
15
],
"seek_param": "start",
"seek_type": "offset",
"durl": [
{
"order": 1,
"length": 536325,
"size": 70985606,
"url": "http://upos-hz-mirrorkodo.acgvideo.com/upgcxcode/71/32/35153271/35153271-1-32.flv?e=ig8euxZM2rNcNbNg7wKVhoMM7w43hwdEto8g5X10ugNcXBlqNxHxNEVE5XREto8KqJZHUa6m5J0SqE85tZvEuENvNC8xNEVE9EKE9IMvXBvE2ENvNCImNEVEK9GVqJIwqa80WXIekXRE9IB5QK==&deadline=1522491779&dynamic=1&gen=playurl&oi=3662379941&os=kodo&platform=pc&rate=224400&trid=61b855b09f154d94a1357ce86a3432f1&uipk=5&uipv=5&um_deadline=1522491779&um_sign=377274dfeeb5fed89c17b4fcbcd56d27&upsig=d4eff030163a4fc04c81802d834ee662",
"backup_url": [
"http://ws.acgvideo.com/9/81/35153271-1-32.flv?wsTime=1522491779&platform=pc&wsSecret2=e0558d0c81c6440741153cdc73fc6a08&oi=3662379941&rate=224&trid=61b855b09f154d94a1357ce86a3432f1"
]
}
]
}

看一下最后请求视频的地址,是这样的:

捕获.PNG

可以看到实际请求的 url 是 得到的 json 中的 durl 数组的第 0 项的 url 一项。

记得带上 Referer, 格式为 https://www.bilibili.com/video/av{aid}/


Bilibili 鬼畜区视频的拯救 —— 一个自动化视频缓存平台
http://blog.yotubird.club/posts/2018/2d14d2c1.html
作者
nqr
发布于
2018年3月31日
许可协议