【Fiddler】利用Fiddler下载保存Bilibili里的视频 - northwest

时间:2024-01-29 20:48:58

【Fiddler】利用Fiddler下载保存Bilibili里的视频

废话不多说啦,直接上教程。

预先准备

1.您需要在电脑上安装和配置Fiddler。
官网:https://www.telerik.com/fiddler
2.您需要设置浏览器的代理,确保Fiddler可以抓到进出浏览器的数据包。

具体步骤

1.Fiddler,启动!

2.BiliBili,启动!

去Fiddler清一下屏幕,快捷键是Ctrl+x。

然后去B站播放您想要保存下载的视频。

image.png

2.回头看看Fiddler监控到的数据包

在这里简单介绍下BiliBili的视频是怎么回事,B站把不仅把视频和音频分开放,还把它们拆成一截一截的了,下载的时候也只能一截一截的下。
意思就是,一个数据包可能是一截视频,也有可能是一截音频。我们的目的,是下载所有的视频,下载所有的音频,再将视频和音频合并起来。

先看一眼数据包,长这样——

不同的图标表示不同的数据类型,有没有觉得蓝白色的图标特别符合眼缘?它就是我们要找的视频或者音频文件。

现在找到来自B站的第一个蓝白色图标的数据包,然后看右边——

11.png

按照橙红色的矩形框依次选择InspectorsHeadersHeaders来查看数据包。
接着来看绿色的矩形框,里面的Content-Range是一项很关键的数据,其中995-1062表示这个数据包所包含的那一截视频内容,而完整的视频内容为1127942。所以我们要获取0-1127942的数据。

以上是视频的数据包。

音频的数据包,我们往下面找一找,找到蓝白色图标下面的其他蓝白色图标,点一下它,再把目光转向右边,依次选择上图橙红色矩形框里面的内容,然后查看Content-Range

image.png

可以看到Content-Range写的是933-1000,表示数据包的内容是933-1000,而完整的内容是111618,和上面的1127942是不同的。遂认定这个111618是完整的音频数据,而1127942是完整的视频数据。
一般来说大的那个就是视频。

好了,下一步是:保存视频和音频的完整内容,也就是下载第一个数据包的0-1127942作为完整的视频内容,下载第二个数据包的0-111618作为完整的音频内容。

于是就需要用到Composer。

利用Composer下载完整内容

1.选中第一个数据包。

image.png

2.看右边上方,点一下Composer。

composer.png

画面变成了这样——

com.png

(橙红色的框是我标的)

2.鼠标左键第一个数据包,把它拖到右边橙红色的矩形框里,然后内容一下子就出现了——

image.png

3.看到最后一行,Range:byte=995-1062,这表示向服务器请求下载995-1062的内容,但我们需要完整的0-1127942,于是将它改为0-1127942。

co.png

4.点一下右上角蓝色矩形框的Execute。

保存下载好的数据包

1.回到左边,下拉到最后,会看到一个崭新的蓝白色图标。
(如果是一个绿色的下载箭头,表示它还没有下载完毕,还正在向服务器请求下载)。

image.png

2.选中它,鼠标右键,Save→Response→Response Body

image.png

它默认的是后缀是.m4s.txt,我们保存为.m4s格式。

到这里,第一个数据包(视频文件)就处理结束了。
接下来,我们用同样的方式处理第二个数据包(音频文件),得到一个名为audio.m4s的文件。

于是就拥有了完整的m4s格式的音频和视频。

image.png

合并视频与音频

这两个m4s文件是很难直接打开的,我们需要借助ffmpeg工具将它们俩合并,这里我就另开一贴,专门介绍如何将m4s文件合并为mp4格式的视频文件。

利用ffmpeg将m4s文件合成为mp4的详细教程在这里

谢谢您的浏览,90度鞠躬!