爬取B站视频 - m4s文件的相关研究
相关教程的直通车:
偶遇的网站:
爬取B站视频
目录
一、前言 ↶
最近一段时间,突然想爬B站视频,发现竟然不是flv格式的视频文件了,全变成一堆的m4s格式的文件,那怎么办,视频没办法正常的爬取,所以我就上网收集资料,研究了一下,算是可以解决如何爬取B站视频了,可能不是很好地办法,但是不管怎么样,只要能到达自己的目的,也算是成功了。
二、分析思路 ↶
- 首先要解决的问题:什么是m4s文件
这大概就是说明了,m4s格式文件的确是我们要的视频。 - 测试视频:av55287468【PS.长短视频的方法是差不多的,这里就以短视频为例】
- 同样的,先从F12开始
得到一堆文件 - 查看其中比较典型的两种文件
一个是30280.m4s,对应了音频文件
另一种是30064.m4s,对应了视频文件
至于区别方式,可以从它们视频传到最后的字节大小来看:
用Fiddler抓包,这一块就比较清晰:
从单个数据包大小就可以分辨出音频和视频。当然,至于为什么它们就是音频和视频,一开始我也是不知道的,但是在查找资料的过程中,猜测最后验证的确如此: - 接下来的操作,比较重要,毕竟传来的是一堆视频流,总不可能全部下载下来,这不实际。事实上,在请求头中,有一个Range参数,管控了bytes字节传输的大小。
只要改成下面这种格式就可以下载完整的视频或音频:
xxxxxx-一般指的是最大的字节量,只不过去掉这行就无法下载。
那么,最大的字节量该怎么得到呢?可以在响应头查看到最大字节。
那么,到这里理论上就可以爬取视频或音频。
三、视频和音频下载 ↶
接下来就实际操作下载的流程,当然具体爬取方法有很多,可以自行选择,这里就用我认为最方便的爬取方法,缺点爬取文件不能太大。
依旧使用强大的Fiddler神器:
- 抓包
- Composer构造请求
- Execute执行
- 导出
- 保存
- 结果
四、转换和混流 ↶
目前仍然有两个问题:
- 下载的文件,一般情况来说,没办法打开(除非有我不知道的东西可以打开),就必须对它进行转换格式
- 视频是无声的,音频是无画面的,还是没有良好的体验,就必须对它进行混流操作,将两者结合起来
这里,我采用的是用户友好型的软件 —— 格式工厂,无脑操作即可。
那么,接下来简单演示一下:
m4s -> mp4
m4s -> mp3
混流 = MP3 + MP4
最后的成品:
完美,既有声音又有画面。
五、总结 ↶
比较具体的写了m4s文件的相关内容,加上之前那一篇爬取B站flv视频的博文,基本上B站大部分的视频(非会员),都能爬取下来。B站视频爬取的相关博文就差不多结束了,除非B站视频又有大改动。当然,在这个过程中,感悟心得也是挺多的,那么就继续加油吧!
后记
原来把 m4s 直接改成 mp4 或者 mp3 就能直接播放,ლ(′◉❥◉`ლ)。。。,不过还是需要合并成一个视频才行。
————————————————
版权声明:本文为****博主「小黑LLB」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.****.net/Enderman_xiaohei/article/details/94718494