摘要

试图分析bilibili视频流如何传递
编码解析视频流
脚本运行,便于使用
试图分析bilibili视频流如何传递

首先,我们需要很碰巧的知道.m4s格式,这是一种用于做视频片段的格式。

其次,我们需要很碰巧的打开谷歌的开发者工具,发现他的请求路径,如下图

如何下载b站视频到电脑(详细操作步骤分享)-风君小屋帮我吧如何下载b站视频到电脑(详细操作步骤分享)-风君小屋帮我吧

很好,这时候我们已经获得了他的视频流了。其实已经可以下载了。但是我发现了更神奇的东西。

从html元素中找到了如图所示的东西,使用json格式化之后,发现他是对应着不同清晰度的视频流请求,以及一个音频文件。

如何下载b站视频到电脑(详细操作步骤分享)-风君小屋帮我吧如何下载b站视频到电脑(详细操作步骤分享)-风君小屋帮我吧

那么我们就有结论了。我们有视频所在页面的地址,通过bv号来标识【在旧版本的bilibili中是通过av号】,我们从页面中能解析出对应的视频流和音频,随后我们可以模拟下载视频流。

编码解析视频流

虽然我java写得最多,但是python用来写脚本是真的香,主要是因为有大量现成的库存在。人生苦短 ,我用python。

我们需要一些库来帮助我们快速实现目的

  1. requests-模拟请求的库
  2. pyquery-解析html的库
  3. json-解析json的库

获取html内容

模拟一个user-agent,通过request发起请求。免得被当做机器人给拦截了 。

如何下载b站视频到电脑(详细操作步骤分享)-风君小屋帮我吧如何下载b站视频到电脑(详细操作步骤分享)-风君小屋帮我吧解析出html中的视频音频路径

如何下载b站视频到电脑(详细操作步骤分享)-风君小屋帮我吧如何下载b站视频到电脑(详细操作步骤分享)-风君小屋帮我吧

下载视频并输出到本地。

再稍微调整调整基本齐活