没想到我还从来没用python下载过视频,这次决定拿B站来练习一下。
用开发者工具查看页面元素,也没找到视频的真实链接,只好用charles抓包一下。具体的下载和证书安装过程忽略。
设置charles

- 设置
macOS Proxy,抓取PC端数据
4.刷新视频页面,应该就会出现很多链接了。仔细查找一下,就可以找到视频链接
下载视频
找到视频链接后,以为就可发起请求了,结果把自己给坑了一下。因为视频链接的请求参数有个别一直在变化,并且在全局搜索的时候也没找到生成参数的方法。倒是在页面源码里可以找到链接,还是get请求,嗯,还是应该感到开心的😅
1 | def download_video(): |
合并视频
下载下来的视频,其实是分段的,不方面查看,所以还需要将视频给合并起来,这里用的是ffmpeg命令,最后合并的视频保存为output.mp4,存在当前路径下。
ffmpeg -f concat -safe 0 -i file.txt -c copy output.mp4
其中file.txt是所有视频片段路径,格式如下:
1 | file 'video/v_1.mp4' |
合并视频是用subprocess模块来运行ffmpeg命令,详细代码如下:
1 | def concatenate(path, dest='video'): |