哔哩哔哩视频无法下载?教你如何将B站视频保存到本地
作者:麦兜 更新时间:2023-02-01 23:29:01 阅读 435
摘要
试图分析bilibili视频流如何传递
编码解析视频流
脚本运行,便于使用
试图分析bilibili视频流如何传递
首先,我们需要很碰巧的知道.m4s格式,这是一种用于做视频片段的格式。
其次,我们需要很碰巧的打开谷歌的开发者工具,发现他的请求路径,如下图
很好,这时候我们已经获得了他的视频流了。其实已经可以下载了。但是我发现了更神奇的东西。
从html元素中找到了如图所示的东西,使用json格式化之后,发现他是对应着不同清晰度的视频流请求,以及一个音频文件。
那么我们就有结论了。我们有视频所在页面的地址,通过bv号来标识【在旧版本的bilibili中是通过av号】,我们从页面中能解析出对应的视频流和音频,随后我们可以模拟下载视频流。
编码解析视频流
虽然我java写得最多,但是python用来写脚本是真的香,主要是因为有大量现成的库存在。人生苦短 ,我用python。
我们需要一些库来帮助我们快速实现目的
requests-模拟请求的库pyquery-解析html的库json-解析json的库获取html内容
模拟一个user-agent,通过request发起请求。免得被当做机器人给拦截了 。
解析出html中的视频音频路径
下载视频并输出到本地。
再稍微调整调整基本齐活。
脚本运行,便于使用
还记得之前提过的为什么要学习shell脚本和macos管理脚本最好方案?我想聊聊我的想法吗? 用他们来让你的python脚本一键下载bilibili视频吧。
备注:其实还有一个问题,bilibili视频音频是分开的,但通过剪辑工具是可以轻松将他们合在一起。更轻松的当然是通过脚本执行咯。下期向大家推荐一个类库来解决这个问题。再见~ peace and love
求点赞,求关注。要源码请私信
声明:本文由"麦兜"发布,不代表"破站"立场,转载联系作者并注明出处:https://www.848586.cn/41352.html
