有很多小伙伴可能会喜欢看一些b站的视频,但是苦于没有流量,需要下载到本地/网盘,这时候我们就可以用python爬虫,来批量获取b站(Bilibili哔哩哔哩)的视频。
一、环境准备
我这里使用的是环境如下仅供参考:
开发工具: pycharm
python环境:python-3.8.0
依赖的包: shutil,os,re,json,choice,requests,lxml
二、页面分析
就拿前段时间非常火的马老师的视频来举例
视频链接: https://www.bilibili.com/video/BV1Ef4y1i78b?from=search&seid=12072538764197074893
视频链接解析 我们这里只需要BV1Ef4y1i78b也就是 video后面? 号前面
第二部分抓包,哔哩哔哩这里的视频被分成多个小段了经过看源码分析后我们可以解析中的内容返回一个json串解析获取我们想要的数据即可。.
3.分析返回json中的具体内容
返回给我们的们如下,真正对我们有用的信息在data中
在data 下面我们就可以清晰的看到我们想要的内容了,如视频的画质,以及视频的地址等,注意:如果你拿到地址直接进行访问的话是访问不到了,哔哩哔哩中添加了Referer如果你直接在浏览器访问是没有Referer的是找不到页面的。
我们需要解析的内容如下:
1/视频的时长
2/视频的质量
3/视频的URL
4/音频的URL
5/音频和视频合并
三、代码实操
依赖的包
添加请求头和随机用户代理
3.2 编写下载代码
3.3 编写下载代码
3.4 将下载好的音频和视频合并
3.5 运行测试
有需要完整源代码的留言python