一、找到想要爬取的视频,进入网页源代码
在网页源代码里面可以很容易的找到视频各种清晰度的源地址
二、对地址发送请求
如果对视频源地址发送get请求会返回403
通过按F12进入开发者工具分析
发现并不能直接对源地址发送get请求,必须先要发送一次option请求
三、再次对源地址发送请求
通过对option请求方式含义的了解,可以知道作用是检测服务器所支持的请求方法
但是不要急着继续发送get请求,通过开发者工具可以发现网页请求资源时,返回的状态码并不是200,而是206
http/206响应的含义具体可参考:https://www.cnblogs.com/simonbaker/p/5190675.html
所以我们在使用get请求源地址时,要加上两个重要的请求头,如下图:
range的值经过测试,可以为空,如:range:bytes=
一般情况下,请求头不加range也能请求到数据,但是在测试中,某些视频如果不加range,会出现数据请求不到的情况,导致程序一直运行,一般加上range更为稳妥
至此,哔哩哔哩视频已经可以爬取了,至于哔哩哔哩把视频与音频分开请求,我们只需要按照请求视频的方式将音频的请求地址替换过去即可
切记,请求时注意保存文件的后缀名
转载请注明出处,谢谢