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

相关教程的直通车:

  • 怎样在电脑上下载哔哩哔哩的视频?
  • 如何下载B站(bilibili)视频手动法
  • b站视频怎么保存在手机本地

偶遇的网站:

  • 看哔哩哔哩
  • 唧唧-哔哩哔哩唧唧-bilibili视频|弹幕在线下载
  • BiliPlus , ( ゜- ゜)つロ 乾杯~

参考链接:

  • 什么是 M4S 文件扩展名?
  • 抓取网页视频显示大量m4s文件,怎样转为MP4或者其他方法抓取?
  • 由M3U8(TS)或MPD(M4S)获取视频
  • 为什么视频网站的视频链接地址是blob?
  • 斗鱼下载的m4s视频文件无法播放?
  • [Windows] 原创-B站1080P+大会员M4S格式60fps音视频文件下载合并
  • 下载视频流M4S并合成MP4

爬取B站视频

目录

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

一、前言 ↶

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

二、分析思路 ↶

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

三、视频和音频下载 ↶

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

依旧使用强大的Fiddler神器:

  1. 抓包
    在这里插入图片描述
    爬取B站视频 - m4s文件的相关研究_第10张图片
    爬取B站视频 - m4s文件的相关研究_第11张图片
  2. Composer构造请求
    爬取B站视频 - m4s文件的相关研究_第12张图片
    爬取B站视频 - m4s文件的相关研究_第13张图片
  3. Execute执行
    在这里插入图片描述
  4. 导出
    爬取B站视频 - m4s文件的相关研究_第14张图片
  5. 保存
    爬取B站视频 - m4s文件的相关研究_第15张图片
  6. 结果
    爬取B站视频 - m4s文件的相关研究_第16张图片

四、转换和混流 ↶

目前仍然有两个问题:

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

这里,我采用的是用户友好型的软件 —— 格式工厂,无脑操作即可。
那么,接下来简单演示一下:
m4s -> mp4
爬取B站视频 - m4s文件的相关研究_第17张图片
m4s -> mp3
爬取B站视频 - m4s文件的相关研究_第18张图片
混流 = MP3 + MP4
爬取B站视频 - m4s文件的相关研究_第19张图片
最后的成品:
完美,既有声音又有画面。
爬取B站视频 - m4s文件的相关研究_第20张图片

五、总结 ↶

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

后记

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

相关链接:

  • 最近b站好像把flv格式换成m4s,改成mp4之后没有声音
  • 为什么B站中的视频在文件管理中找到是这样的打不开

点我回顶部 ☚

 
 
 
 
 
 
 
Fin.

你可能感兴趣的:(我的爬虫之旅)