B站视频下载需要用到2个接口,一个是通过Aid号获取视频基本信息和Cid号的接口,一个是通过视频Cid号获取下载地址的接口。

接口一 Link to heading

https://api.bilibili.com/x/web-interface/view?aid=29702317

接口二 Link to heading

https://api.bilibili.com/x/player/playurl?avid=29702317&cid=51686571&qn=74&otype=json

注意事项 Link to heading

  1. 接口二在获取视频下载地址的时候,如果没有cookie信息的话最大只能获取到480P清晰度的视频,需要用账户登录后获取其cookie里面的SESSDATA值(SESSDATA有效期是一个月)请求的同时还要在headers中添加User-AgentHost,具体请看下面:
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'
   }
  1. 在下载视频的时候,headers也要进行伪造,具体看下面:
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号