抓取网页音频(爬取B站视频目录)
优采云 发布时间: 2022-03-30 10:22抓取网页音频(爬取B站视频目录)
相关教程直通车:遇到网站:参考链接:爬B站视频
内容
一、前言
最近突然想爬B站的视频,发现不是flv格式的视频文件,而是变成一堆m4s格式的文件。怎么办,视频无法正常爬取,于是上网搜集资料,研究了一下,也算是解决B站视频怎么爬取的办法吧,可能不是什么好办法但不管怎样,只要能达到自己的目的,也算是成功了。
二、思路分析
第一个要解决的问题:什么是m4s文件
这大概说明m4s格式文件确实是我们要的视频。测试视频:av55287468 [PS. 长短视频的方法类似,这里以短视频为例】
同样,从 F12 开始
拿一堆文件看两个典型的
一个是30280.m4s,对应音频文件
另一个是30064.m4s,对应视频文件
至于区别,从他们视频传输到最后的字节大小就可以看出:
使用Fiddler抓包,这个比较清楚:
音频和视频可以从单个数据包大小中区分出来。当然,至于为什么是音视频,一开始我也不知道,但是在查找资料的过程中,我猜到最后验证是真的:
接下来的操作更重要。毕竟是一堆视频流,不可能全部下载下来,不实用。实际上,在请求头中,有一个 Range 参数控制传输的字节大小。
只需更改为以下格式即可下载完整的视频或音频:
xxxxxx- 一般是指最大字节数,但是去掉这行就不能下载了。
那么,如何获得最大字节数呢?最大字节数可以在响应头中查看。
然后,理论上,视频或音频都可以在这里抓取。
三、视频和音频下载
下一步是实际操作下载过程。当然,具体的爬取方式还有很多。你可以自己选择。这里我使用最方便的爬取方式。缺点是爬取的文件不能太大。
仍然使用强大的 Fiddler 神器:
抓包
Composer 构造请求
执行
出口
保存
结果
四、转换和复用
仍然存在两个问题:
下载的文件,一般情况下是打不开的(除非有什么不知道可以打开的),必须转换一下。视频无声,音频无画面,或者没有好的体验,必须要mux才能把两者结合起来
在这里,我使用了用户友好的软件——格式工厂,无需大脑即可操作。
所以,这里有一个简单的演示:
m4s -> mp4
m4s -> mp3
混合流 = MP3 + MP4
最终产品:
完美,无论是声音还是画面。
五、总结
更具体地说,我写了m4s文件的相关内容,加上之前爬B站flv视频的博文,基本上B站的大部分视频(非会员)都能爬下来。B站视频爬取相关的博文也快结束了,除非B站的视频有大的变化。当然,在这个过程中,也有很多感悟,继续努力吧!
后记
原来如果直接把m4s换成mp4或者mp3就可以直接播放了,ლ(′◉❥◉`ლ)。. . ,但仍需合并为一个视频。
相关链接:
☚
鳍。