爬取B站视频 - m4s文件的相关研究

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/Enderman_xiaohei/article/details/94718494

相关教程的直通车:

偶遇的网站:

参考链接:

爬取B站视频

目录

1. 前言
2. 分析思路
3. 视频和音频下载
4. 转换和混流
5.总结

一、前言

最近一段时间,突然想爬B站视频,发现竟然不是flv格式的视频文件了,全变成一堆的m4s格式的文件,那怎么办,视频没办法正常的爬取,所以我就上网收集资料,研究了一下,算是可以解决如何爬取B站视频了,可能不是很好地办法,但是不管怎么样,只要能到达自己的目的,也算是成功了。

二、分析思路

  1. 首先要解决的问题:什么是m4s文件
    在这里插入图片描述
    这大概就是说明了,m4s格式文件的确是我们要的视频。
  2. 测试视频:av55287468【PS.长短视频的方法是差不多的,这里就以短视频为例】
    在这里插入图片描述
  3. 同样的,先从F12开始
    在这里插入图片描述
    得到一堆文件
  4. 查看其中比较典型的两种文件
    一个是30280.m4s,对应了音频文件
    在这里插入图片描述
    另一种是30064.m4s,对应了视频文件
    在这里插入图片描述
    至于区别方式,可以从它们视频传到最后的字节大小来看:
    用Fiddler抓包,这一块就比较清晰:
    在这里插入图片描述
    在这里插入图片描述
    从单个数据包大小就可以分辨出音频和视频。当然,至于为什么它们就是音频和视频,一开始我也是不知道的,但是在查找资料的过程中,猜测最后验证的确如此:
    在这里插入图片描述
  5. 接下来的操作,比较重要,毕竟传来的是一堆视频流,总不可能全部下载下来,这不实际。事实上,在请求头中,有一个Range参数,管控了bytes字节传输的大小。
    在这里插入图片描述
    只要改成下面这种格式就可以下载完整的视频或音频:
    在这里插入图片描述
    xxxxxx-一般指的是最大的字节量,只不过去掉这行就无法下载。
    那么,最大的字节量该怎么得到呢?可以在响应头查看到最大字节。
    在这里插入图片描述
    那么,到这里理论上就可以爬取视频或音频。

三、视频和音频下载

接下来就实际操作下载的流程,当然具体爬取方法有很多,可以自行选择,这里就用我认为最方便的爬取方法,缺点爬取文件不能太大。

依旧使用强大的Fiddler神器:

  1. 抓包
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  2. Composer构造请求
    在这里插入图片描述
    在这里插入图片描述
  3. Execute执行
    在这里插入图片描述
  4. 导出
    在这里插入图片描述
  5. 保存
    在这里插入图片描述
  6. 结果
    在这里插入图片描述

四、转换和混流

目前仍然有两个问题:

  1. 下载的文件,一般情况来说,没办法打开(除非有我不知道的东西可以打开),就必须对它进行转换格式
  2. 视频是无声的,音频是无画面的,还是没有良好的体验,就必须对它进行混流操作,将两者结合起来

这里,我采用的是用户友好型的软件 —— 格式工厂,无脑操作即可。
那么,接下来简单演示一下:
m4s -> mp4
在这里插入图片描述
m4s -> mp3
在这里插入图片描述
混流 = MP3 + MP4
在这里插入图片描述
最后的成品:
完美,既有声音又有画面。
在这里插入图片描述

五、总结

比较具体的写了m4s文件的相关内容,加上之前那一篇爬取B站flv视频的博文,基本上B站大部分的视频(非会员),都能爬取下来。B站视频爬取的相关博文就差不多结束了,除非B站视频又有大改动。当然,在这个过程中,感悟心得也是挺多的,那么就继续加油吧!

后记

原来把 m4s 直接改成 mp4 或者 mp3 就能直接播放,ლ(′◉❥◉`ლ)。。。,不过还是需要合并成一个视频才行。

相关链接:

点我回顶部

 
 
 
 
 
 
 
Fin.

猜你喜欢

转载自blog.csdn.net/Enderman_xiaohei/article/details/94718494