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

发表于:2020-11-17 09:38

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:northwest    来源:博客园

  预先准备
  1.您需要在电脑上安装和配置Fiddler
  官网:https://www.telerik.com/fiddler
  2.您需要设置浏览器的代理,确保Fiddler可以抓到进出浏览器的数据包。
  具体步骤
  1.Fiddler,启动!
  2.BiliBili,启动!
  去Fiddler清一下屏幕,快捷键是Ctrl+x。
  然后去B站播放您想要保存下载的视频。
  2.回头看看Fiddler监控到的数据包
  在这里简单介绍下BiliBili的视频是怎么回事,B站把不仅把视频和音频分开放,还把它们拆成一截一截的了,下载的时候也只能一截一截的下。
  意思就是,一个数据包可能是一截视频,也有可能是一截音频。我们的目的,是下载所有的视频,下载所有的音频,再将视频和音频合并起来。
  先看一眼数据包,长这样——
  不同的图标表示不同的数据类型,有没有觉得蓝白色的图标特别符合眼缘?它就是我们要找的视频或者音频文件。
  现在找到来自B站的第一个蓝白色图标的数据包,然后看右边——
  按照橙红色的矩形框依次选择Inspectors、Headers、Headers来查看数据包。
  接着来看绿色的矩形框,里面的Content-Range是一项很关键的数据,其中995-1062表示这个数据包所包含的那一截视频内容,而完整的视频内容为1127942。所以我们要获取0-1127942的数据。
  以上是视频的数据包。
  音频的数据包,我们往下面找一找,找到蓝白色图标下面的其他蓝白色图标,点一下它,再把目光转向右边,依次选择上图橙红色矩形框里面的内容,然后查看Content-Range。
  可以看到Content-Range写的是933-1000,表示数据包的内容是933-1000,而完整的内容是111618,和上面的1127942是不同的。遂认定这个111618是完整的音频数据,而1127942是完整的视频数据。
  一般来说大的那个就是视频。
  好了,下一步是:保存视频和音频的完整内容,也就是下载第一个数据包的0-1127942作为完整的视频内容,下载第二个数据包的0-111618作为完整的音频内容。
  于是就需要用到Composer。
  利用Composer下载完整内容
  1.选中第一个数据包。
  2.看右边上方,点一下Composer。
  画面变成了这样——
  (橙红色的框是我标的)
  2.鼠标左键第一个数据包,把它拖到右边橙红色的矩形框里,然后内容一下子就出现了——
  3.看到最后一行,Range:byte=995-1062,这表示向服务器请求下载995-1062的内容,但我们需要完整的0-1127942,于是将它改为0-1127942。
  4.点一下右上角蓝色矩形框的Execute。
  保存下载好的数据包
  1.回到左边,下拉到最后,会看到一个崭新的蓝白色图标。
  (如果是一个绿色的下载箭头,表示它还没有下载完毕,还正在向服务器请求下载)。
  2.选中它,鼠标右键,Save→Response→Response Body
  它默认的是后缀是.m4s.txt,我们保存为.m4s格式。
  到这里,第一个数据包(视频文件)就处理结束了。
  接下来,我们用同样的方式处理第二个数据包(音频文件),得到一个名为audio.m4s的文件。
  于是就拥有了完整的m4s格式的音频和视频。
  合并视频与音频
  这两个m4s文件是很难直接打开的,我们需要借助ffmpeg工具将它们俩合并,这里我就另开一贴,专门介绍如何将m4s文件合并为mp4格式的视频文件。

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号