B站(Bilibili) 视频的下载。

1) 第一种是众所周知的方法,在URL的 bilibili 前加个 i, 就可以有视频的mp4的地址,然后用下载器下载。

比如 想 下载 https://www.bilibili.com/video/av16988573

可以输入URL

https://www.ibilibili.com/video/av16988573

就可以得到 MP4的地址:(但好像不是720P的,有点上火)

http://upos-hz-mirrorks3u.acgvideo.com/upgcxcode/66/18/27771866/27771866-1-16.mp4?e=ig8euxZM2rNcNbhVhwdVhoMzhwdVhwdEto8g5X10ugNcXBB_&deadline=1550331372&gen=playurl&nbs=1&oi=2075778985&os=ks3u&platform=html5&trid=90ff1999293f4d7dad9e05d99798b139&uipk=5&upsig=fbd1222ab76b3d18edadf7ec4b079270

2) Chrome的developer 模式里,可以找到类似的FLV URL (可惜的是,这个flv下载的只是片段,片段组合的方法还需要考虑)

https://upos-hz-mirrorks3u.acgvideo.com/upgcxcode/66/18/27771866/27771866-1-32.flv?e=ig8euxZM2rNcNbKa7WdVhoMM7zUVhwdEto8g5X10ugNcXBlqNxHxNEVE5XREto8KqJZHUa6m5J0SqE85tZvEuENvNC8xNEVE9EKE9IMvXBvE2ENvNCImNEVEK9GVqJIwqa80WXIekXRE9IMvXBvEuENvNCImNEVEua6m2jIxux0CkF6s2JZv5x0DQJZY2F8SkXKE9IB5QK==&deadline=1550330350&gen=playurl&nbs=1&oi=2075778985&os=ks3u&platform=pc&trid=517c18a6f5d74978b9df672f0c9892cf&uipk=5&upsig=606f8eccee1af0edaf3275e08566b436

放在 flashget 里,写入referer 参数 https://www.bilibili.com/video/av16988573 ,即可下载。

3) 这也是FLV片段。自己构造 curl的请求参数 

curl -H "Referer: https://www.bilibili.com/video/av16988573" -X GET "https://upos-hz-mirrorks3u.acgvideo.com/upgcxcode/66/18/27771866/27771866-1-32.flv?e=ig8euxZM2rNcNbKa7WdVhoMM7zUVhwdEto8g5X10ugNcXBlqNxHxNEVE5XREto8KqJZHUa6m5J0SqE85tZvEuENvNC8xNEVE9EKE9IMvXBvE2ENvNCImNEVEK9GVqJIwqa80WXIekXRE9IMvXBvEuENvNCImNEVEua6m2jIxux0CkF6s2JZv5x0DQJZY2F8SkXKE9IB5QK==&deadline=1550330350&gen=playurl&nbs=1&oi=2075778985&os=ks3u&platform=pc&trid=517c18a6f5d74978b9df672f0c9892cf&uipk=5&upsig=606f8eccee1af0edaf3275e08566b436"

注意:

     a) 需要把URL用引号引起来,防止跟bash/cygwin 命令冲突

     b) referer Header是必须的。

 4)在URL 的后面加 jj ,变成下面的URL,进入下载页面。(缓存半天也没出下载地址,行不行啊?)

https://www.bilibilijj.com/video/av43810814

 5)UWP客户端,有下载按钮(需要大会员?)

 6)安卓客户端的缓存目录里,提取。(或者反编译试试?)

 7)youtube-dl 工具。 这工具真的NIUBI. 直接就可以拿过来用到B站上去。  

 8)tampermonkey 插件, 然后到 GreasyFork 搜脚本

原文地址:https://www.cnblogs.com/johnsonshu/p/10389395.html