事件起因:
- 朋友:我最近想学一个***技术,在B站找到了教学视频。我想把视频弄下来方便学习。
- 我:B站不提供下载功能,估计只能悄悄的干活了!
- 朋友:最好是一下把一个系列的全下下来。
- 我:好的,我来安排安排。
需求分析:
需求:
- 一键下载B站某一系列视频
思路:
- 分析一下网站源码,找到视频下载接口
- 模拟接口下载视频
接口分析:
- 网页打开该视频,查看网页源码分析:(我们可以通过p控制“集”)
view-source:https://www.bilibili.com/video/BV1Ez4y1y7EB
view-source:https://www.bilibili.com/video/BV1Ez4y1y7EB?p=1
- 找到整个系列视频列表:(后面可以通过正则取出整个JSON)
- 找打不同清晰度的视频列表:(视频、音频分开;后面需要合并)(后面可以通过正则取出整个JSON)
- 找到请求接口发现好像是分段下载:(顺便度娘了一把什么是分片下载)
分析总结:
- 通过源码分析,我们拿到了该系列的全部视频名称,并可以通过拼接形成全部的URL地址。
- 通过源码分析,我们拿到了每个视频和音频的下载地址。
- 通过分析接口,我们知道了视频是需要进行分片下载的。