1. 首页 » 生活常识

哔哩哔哩视频无法下载?教你如何将B站视频保存到本地

摘要

试图分析bilibili视频流如何传递

编码解析视频流

脚本运行,便于使用

试图分析bilibili视频流如何传递

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

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

bilibili视频无法下载?python来帮你

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

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

bilibili视频无法下载?python来帮你

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

编码解析视频流

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

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

requests-模拟请求的库pyquery-解析html的库json-解析json的库

获取html内容

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

bilibili视频无法下载?python来帮你

解析出html中的视频音频路径

bilibili视频无法下载?python来帮你

下载视频并输出到本地。

bilibili视频无法下载?python来帮你

再稍微调整调整基本齐活。

脚本运行,便于使用

还记得之前提过的为什么要学习shell脚本和macos管理脚本最好方案?我想聊聊我的想法吗? 用他们来让你的python脚本一键下载bilibili视频吧。

备注:其实还有一个问题,bilibili视频音频是分开的,但通过剪辑工具是可以轻松将他们合在一起。更轻松的当然是通过脚本执行咯。下期向大家推荐一个类库来解决这个问题。再见~ peace and love

求点赞,求关注。要源码请私信

声明:本文由"麦兜"发布,不代表"破站"立场,转载联系作者并注明出处:https://www.848586.cn/41352.html