Bilibili API
Api 列表:
1.视频信息类:通过(BV/AV) 号获取视频详细信息、通过(BV/AV) 号获取视频数据信息(点赞转发收藏弹幕数量等)(可用于AV BV号转换)
2.(通过AV号)获取视频评论/评论的子评论(评论的评论) (及置顶评论):获取视频评论、获取视频置顶评论、获取评论的子评论
3.个人信息:获取个人信息、获取用户收藏夹
4.主站:综合热门、音乐排行
5.哔哩哔哩公益:公益概览(公益项目个数、总捐款金额、总捐款人数,及首页的项目)、项目详细信息、项目详细捐款记录(最近100条)(脱敏)
前言
这次抓完B站后,才发现B站的老API真的可以用 shi山 形容,包括同一个数据在一个API中同时返回很多次,和明明用不到这个数据却还是返回了(就比如 API 1.1),而且新旧版本的API同时存在,估计现在B站的后端都不知道自家公司有多少API,有多少能用,有多少不能用。
但是B站的新API就没有这些问题,比如公益的API,返回的内容可读性还是比较高的,所以就没有写API解释。
本文有目录,可点击目录快速跳转,同时可以使用 ctrl+f 进行文章内容搜索
1.视频信息类
1.1 通过(BV/AV) 号获取视频详细信息(优先使用)
请求方式:GET
请求URL(AV):https://api.bilibili.com/x/web-interface/view/detail?aid={AV号}
请求URL(BV):https://api.bilibili.com/x/web-interface/view/detail?bvid={BV号}
请求示例:https://api.bilibili.com/x/web-interface/view/detail?bvid=BV1Mt4y1X718
返回解释(部分):
1 | { |
1.2 通过(BV/AV) 号获取视频数据信息(点赞转发收藏弹幕数量等)(可用于AV BV号转换)
1.2.1 BV 号获取视频数据信息及AV号
请求方式:GET
请求URL:https://api.bilibili.com/x/web-interface/archive/stat?bvid={BV号}
示例请求:https://api.bilibili.com/x/web-interface/archive/stat?bvid=BV1Mt4y1X718
示例返回(已格式化处理):
1 | { |
信息解释:
1 | { |
1.2.2 AV 号获取视频数据信息及BV号
请求方式:GET
请求URL:http://api.bilibili.com/archive_stat/stat?aid={AV号}&type=jsonp
示例请求:http://api.bilibili.com/archive_stat/stat?aid=626401766&type=jsonp
示例返回(已格式化处理):
1 | { |
信息解释:
1 | { |
2.(通过AV号)获取视频评论/评论的子评论(评论的评论) (及置顶评论)
BV 号到 AV 号转换请通过 1.2.1 获取
2.1 获取视频评论
请求方式:GET
请求URL:https://api.bilibili.com/x/v2/reply/main?jsonp=jsonp&next={页数(从0开始)}&type=1&oid={AV号}&mode=3
示例请求:https://api.bilibili.com/x/v2/reply/main?jsonp=jsonp&next=0&type=1&oid=626401766&mode=3
示例返回:
这个API数据量实在是太大了,评论的一部分子评论都在里面,”replies”里面有19条评论,评论的评论和评论的点赞等一些数据都在这个API里面,因为太长就不放示例返回了
置顶评论在
2.2 获取视频置顶评论
请求方式:GET
请求URL:https://api.bilibili.com/x/v2/reply/main?mode=3&next=0&oid={AV号}&plat=1&seek_rpid=&type=1
示例请求:
https://api.bilibili.com/x/v2/reply/main?mode=3&next=0&oid=841443266&plat=1&seek_rpid=&type=1
置顶评论在 [“data”][“top”] 内
2.3 获取评论的子评论
请求方式:GET
请求URL:https://api.bilibili.com/x/v2/reply/reply?oid={视频AV号}&pn={页码}&ps={显示条数}&root={父评论ID}&type=1
父评论ID要通过 1.3.1 获取,在 [“data”][“replies”][i][“rpid”] 里面
示例请求:https://api.bilibili.com/x/v2/reply/reply?oid=626401766&pn=1&ps=10&root=3201582731&type=1
3.个人信息
3.1 获取个人信息
请求方式:GET
请求URL:https://api.bilibili.com/x/space/acc/info?mid={用户ID}&token=&platform=web&jsonp=jsonp
示例请求:https://api.bilibili.com/x/space/acc/info?mid=488316288&token=&platform=web&jsonp=jsonp
示例返回:
1 | { |
3.2 获取用户收藏夹
如为私密收藏夹,需要传入Cookie
请求方式:GET
请求URL:https://api.bilibili.com/x/v3/fav/resource/list?media_id={收藏夹ID}&pn={页码(从1开始)}&ps={每页显示(最大20,默认20)}&keyword=&order=mtime&type=0&tid=0&platform=web&jsonp=jsonp
示例请求:
https://api.bilibili.com/x/v3/fav/resource/list?media_id=1793187988&pn=1&ps=20&keyword=&order=mtime&type=0&tid=0&platform=web&jsonp=jsonp
返回解释:
1 | { |
4.主站
4.1 综合热门
请求方式:GET
请求URL:https://api.bilibili.com/x/web-interface/popular?ps={每页数量,默认20}&pn={页数(从1开始)}
请求示例:https://api.bilibili.com/x/web-interface/popular?ps=20&pn=1
返回解释:
1 | { |
4.2 音乐排行
请求方式:GET
请求URL:https://api.bilibili.com/x/copyright-music-publicity/toplist/music_list?list_id=18
返回解释:
1 | { |
5.哔哩哔哩公益
公益项目,请勿乱爬!
5.1 公益概览(公益项目个数、总捐款金额、总捐款人数,及首页的项目)
请求方式:GET
请求URL:https://api.bilibili.com/x/charity/index
返回解释:
三张图片就能解释了,这个API很简单
5.2 项目详细信息
请求方式:GET
请求URL:https://api.bilibili.com/x/charity/project/info?uuid={项目ID,在URL中}
请求示例:https://api.bilibili.com/x/charity/project/info?uuid=adda836b6d
返回示例:
5.3 项目详细捐款记录(最近100条)(脱敏)
请求方式:GET
请求URL:https://api.bilibili.com/x/charity/project/donate/list?uuid={项目ID,在URL中}
请求示例:https://api.bilibili.com/x/charity/project/donate/list?uuid=adda836b6d
返回示例:
Bilibili API