B站视频下载需要用到2个接口,一个是通过Aid号获取视频基本信息和Cid号的接口,一个是通过视频Cid号获取下载地址的接口。
接口一
| 1
 | https://api.bilibili.com/x/web-interface/view?aid=29702317
 | 
接口二
| 1
 | https://api.bilibili.com/x/player/playurl?avid=29702317&cid=51686571&qn=74&otype=json
 | 
注意事项
- 接口二在获取视频下载地址的时候,如果没有cookie信息的话最大只能获取到480P清晰度的视频,需要用账户登录后获取其cookie里面的SESSDATA值(SESSDATA有效期是一个月)请求的同时还要在headers中添加User-Agent和Host,具体请看下面:
| 12
 3
 4
 5
 
 | headers: {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:56.0) Gecko/20100101 Firefox/56.0',
 'Host': 'api.bilibili.com',
 'Cookie': 'SESSDATA=bd125cdd%2C1554519358%2C6d4df231'
 }
 
 | 
- 在下载视频的时候,headers也要进行伪造,具体看下面:
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 
 | headers: {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:56.0) Gecko/20100101 Firefox/56.0',
 'Accept': '*/*',
 'Accept-Language': 'en-US,en;q=0.5',
 'Accept-Encoding': 'gzip, deflate, br',
 'Range': 'bytes=0-',
 'Referer': 'http://www.bilibili.com/video/av46174956/',
 'Origin': 'https://www.bilibili.com',
 'Connection': 'keep-alive'
 }
 
 | 
把Referer里面的av号替换成下载的视频的aid号