收集方法:PC端直播姬 + Fiddler抓包
获取大乱斗赛季详情
GET https://api.live.bilibili.com/av/v1/Battle/getSeasonInfo
入参
| 参数 | 是否必须 | 说明 |
|---|---|---|
| scode | N | 赛季,格式如s51,不填默认当前赛季 |
返回示例
{
"code": 0,
"msg": "",
"message": "",
"data": {
"id": 79,
"season_start_time": "1730390400",
"season_end_time": "1732982399",
"pk_entrance_start_time": "1730390400",
"pk_entrance_end_time": "1732982399",
"season_name": "PK大乱斗S51赛季",
"scode": "s51",
"last_scode": "s9",
"act_id": 107291
}
}
其他的不重要,data.id一定要记下来(下称“赛季id”),准备好你或者你钟意主播的uid(在主站空间找)和直播间id,后面要用
获取PK大乱斗周榜单
GET https://api.live.bilibili.com/xlive/general-interface/v1/battle/getScoreWeekRank
入参
| 参数 | 是否必须 | 说明 |
|---|---|---|
| ruid | N | 主播的uid ,不填默认当前登录用户 |
| room_id | N | 主播的直播间号,不填默认当前登录用户 |
| season_id | Y | 赛季id |
| need_current_info | N | 是否展示用户当前排名,与ruid和room_id有关,默认0 |
| page_size | Y | 单页条数,亲测最大可支持到99 |
| page | Y | 分页,即第x页 |
| timestamp | N | 秒级时间戳,可填指定自然周的任意时间,需与赛季id匹配,不填默认当前周 |
如你的账号未开通直播间,请保证传入ruid和room_id,或者不传入need_current_info,否则会返回服务器错误(-500)
返回示例
// 星号是手动加上去的,实际返回为明文,数据结构请顾名思义
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"list": [
{
"uid": 34**88,
"rank": 1,
"score": 15**66,
"uname": "***",
"face": "https://i1.hdslb.com/bfs/face/0b6be7***3eb1.jpg",
"link": "https://live.bilibili.com/26**1",
"first_uid": 4**8,
"first_uname": "***",
"first_face": "https://i0.hdslb.com/bfs/face/8ca31***6756.webp",
"level1_name": "苍穹主宰",
"level1_img": "https://i0.hdslb.com/bfs/live/2cf06***46d2.png",
"level2_count": 0,
"level2_img": "",
"is_live": 0,
"top_rank": 0
}
],
// 如果need_current_info为0,owner_rank返回null
"owner_rank": {
"uid": 1**3,
"rank": 0,
"score": 0,
"uname": "***",
"face": "https://i2.hdslb.com/bfs/face/a2969f***655d4.jpg",
"link": "https://live.bilibili.com/27**5",
"level1_name": "青铜萌新",
"level1_img": "https://i0.hdslb.com/bfs/live/bd6ca7***f7813.png",
"level2_count": 1,
"level2_img": "https://i0.hdslb.com/bfs/live/1f8c2a***429cd.png",
"is_live": 0,
"top_rank": 0,
"score_diff": 5**1,
"text": "距上榜",
"first_uid": 0,
"first_uname": "",
"first_face": ""
},
"reqTimestamp": 1732030334
}
}
获取PK大乱斗全区榜
GET https://api.live.bilibili.com/xlive/general-interface/v1/battle/getPkRankInfoV2
入参
| 参数 | 是否必须 | 说明 |
|---|---|---|
| ruid | N | 主播的uid ,不填默认当前登录用户 |
| room_id | N | 主播的直播间号,不填默认当前登录用户 |
| season_id | Y | 赛季id |
| type | Y | 排行榜类型,104总榜,105新星榜,106潜力榜 |
| parent_area_id | Y | 分区id,此处固定为12154 |
| page | Y | 分页,即第x页,从0开始 |
返回
略
获取大乱斗分区榜单ID
GET https://api.live.bilibili.com/xlive/general-interface/v1/battle/getPkAreaRankId
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"list": [
{
"rank_id": 12409,
"area_name": "娱乐榜",
"area_ids": [1]
},
{
"rank_id": 12545,
"area_name": "电台榜",
"area_ids": [5]
},
{
"rank_id": 12408,
"area_name": "游戏榜",
"area_ids": [3, 2, 6]
},
{
"rank_id": 12407,
"area_name": "虚拟榜",
"area_ids": [9]
}
]
}
}
获取大乱斗分区榜
GET https://api.live.bilibili.com/xlive/general-interface/v1/battle/getPkAreaRankList
入参
| 参数 | 是否必须 | 说明 |
|---|---|---|
| ruid | N | 主播的uid ,不填默认当前登录用户 |
| room_id | N | 主播的直播间号,不填默认当前登录用户 |
| season_id | Y | 赛季id |
| track | Y | 排行榜类型,0总榜,1新星榜,2潜力榜 |
| parent_area_id | Y | 分区id,上个接口获取的rank_id |
| page | Y | 分页,即第x页,从0开始 |
返回
略
获取大乱斗礼物榜
GET https://api.live.bilibili.com/xlive/general-interface/v1/battle/getPkGiftRankList
| 参数 | 是否必须 | 说明 |
|---|---|---|
| ruid | N | 主播的uid ,不填默认当前登录用户 |
| room_id | N | 主播的直播间号,不填默认当前登录用户 |
| season_id | Y | 赛季id |
| page | Y | 分页,即第x页,从0开始 |
获取单日大乱斗PK记录
GET https://api.live.bilibili.com/xlive/general-interface/v1/battle/getSeasonBattleRecord
入参
| 参数 | 是否必须 | 说明 |
|---|---|---|
| ruid | Y | 主播的uid ,不填默认当前登录用户 |
| room_id | Y | 主播的直播间号,不填默认当前登录用户 |
| season_id | Y | 赛季id |
| date | N | 指定日期,不填默认当天,格式如2024-11-01,需与赛季id匹配(如S51赛季对应2024年11月),不匹配会返回参数错误(1002002) |
返回示例
// 星号是手动加上去的,实际返回为明文,数据结构请顾名思义
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"list": [
// 多人PK
{
"pk_id": 3**8,
"result_type": 2,
"pk_score": 3,
"pk_end_time": 1723823423,
"match_info": {
"name": "",
"pk_votes": 0,
"room_id": 0,
"group_id": 0,
"uid": 0
},
"pk_votes": 161,
"battle_type": 8,
"is_final_hit": 0,
"pk_start_time": 1723823123,
"other_match_list": [
{
"name": "***",
"pk_votes": 1426,
"room_id": 1**9,
"group_id": 2,
"uid": 0
},
{
"name": "***",
"pk_votes": 2750,
"room_id": 3**7,
"group_id": 1,
"uid": 0
},
{
"name": "***",
"pk_votes": 1155,
"room_id": 3**5,
"group_id": 2,
"uid": 0
}
],
"group_id": 1,
"sub_battle_type": 101
},
// 单人PK
{
"pk_id": 3**1,
"result_type": -1,
"pk_score": 0,
"pk_end_time": 1723821557,
"match_info": {
"name": "***",
"pk_votes": 90,
"room_id": 1**2,
"group_id": 0,
"uid": 3**3
},
"pk_votes": 10,
"battle_type": 2,
"is_final_hit": 0,
"pk_start_time": 1723821247,
"other_match_list": null,
"group_id": 0,
"sub_battle_type": 8 // 已知的值有5、8、99、101(多人PK)
}
],
"dates": []
}
}

2941

被折叠的 条评论
为什么被折叠?



