let object = await biliAPI({ mid: 349991143 }, ['uname', 'guardNum'])
object.uname // → 神楽めあOfficial
object.guardNum // → 613
npm
npm install bili-api -S
Yarn
yarn add bili-api
const biliAPI = require('bili-api')
;
(async () => {
let up = await biliAPI({ mid: 349991143 }, ['follower'])
up.follower // → 307871
})()
以上便是根据<mid>查找粉丝数,很简单对不对→_→
/**
* @method biliAPI
* @param {Object} object 输入的信息
* @param {Array} targets 需要的目标信息
* @param {Function} [option] 设置
* @return {Promise} Resolve一个带有所需targets的Object
*/
biliAPI(object, targets, [option])
-
object
: Object,提供目前知道的信息,比如{ mid: 349991143 }
,不同key的说明可以参阅IDs -
targets
: Array,需要的信息,比如['follower']
,每个值的说明可以参阅APIs -
option
: Object,可选设置。-
wait
: Number,默认0。如果在短时间发起过多请求,可能会被bilibili暂时banIP,所以可以在这里指定一个请求delay,单位 ms 毫秒,每一个网络请求都会暂停一段时间。
-
这里收集的API应该属于"匿名API(自造词)",即不需要 登陆/appkey 的API。
用处大概是公开信息获取,暂时没有涉及类似"发弹幕/评论"相关API的打算。
以下是可能满足类似需求的资料:
fython/BilibiliAPIDocs: Bilibili API (For thrid-party) Documents 哔哩哔哩开放接口第三方文档
lovelyyoshino/Bilibili-Live-API: BILIBILI 直播/番剧 API
Vespa314/bilibili-api: B站API收集整理及开发,测试【开发中】
-
大概是 Member ID?
UP主个人空间地址 https://space.bilibili.com/43222001/ 中的
43222001
就是这个mid
了 -
就是av号啦→_→
比如视频 https://www.bilibili.com/video/av2134250/ 中的
2134250
就是aid
-
直播房间号
-
直播间当前人气值
非直播状态为0
<roomid>, <liveStatus>
-
直播状态,直播中为
1
,轮播/没播为0
<roomStatus>, <getRoomInfoOld>
-
直播舰团
<topList>
-
直播间标题
-
公告
<_notice>
-
UP主的视频数
<navnum>
-
UP主播放数
<upstat>
-
UP主阅读数
<upstat>
-
UP主头像的链接
<info>
UP主统计数据
<mid>
https://api.bilibili.com/x/relation/stat?vmid=<mid>
https://api.bilibili.com/x/relation/stat?vmid=349991143
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"mid": 349991143,
"following": 130,
"whisper": 0,
"black": 0,
"follower": 307871
}
}
UP主信息
<mid>
https://api.bilibili.com/x/space/acc/info?mid=<mid>
https://api.bilibili.com/x/space/acc/info?mid=349991143
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"mid": 349991143,
"name": "神楽めあOfficial",
"sex": "女",
"face": "http://i1.hdslb.com/bfs/face/49e143e1cae7f9e51b36c6c670976a95cc41ce12.jpg",
"sign": "这里是神楽めあ(KaguraMea)!来自日本的清楚系虚拟YouTuber~weibo:@kaguramea ",
"rank": 10000,
"level": 6,
"jointime": 0,
"moral": 0,
"silence": 0,
"birthday": "08-02",
"coins": 76614.9,
"fans_badge": true,
"official": {
"role": 1,
"title": "bilibili 知名UP主",
"desc": ""
},
"vip": {
"type": 2,
"status": 1,
"theme_type": 0
},
"is_followed": false,
"top_photo": "http://i2.hdslb.com/bfs/space/e408642238b3cd999b229af3aefd5da6746f5d7d.png",
"theme": {}
}
}
视频信息
<aid>
https://api.bilibili.com/x/web-interface/view?aid=<aid>
https://api.bilibili.com/x/web-interface/view?aid=30669363
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"aid": 30669363,
"videos": 1,
"tid": 138,
"tname": "搞笑",
"copyright": 2,
"pic": "http://i2.hdslb.com/bfs/archive/beb7c2ea63a31929b2aac187fee6f7da97058fa6.jpg",
"title": "ELECTRICAL COMMUNICATION",
"pubdate": 1535573687,
"ctime": 1535573684,
"desc": "N站http://www.nicovideo.jp/watch/sm31209485?ref=thumb_nicopedia\n真夏の夜の淫夢",
"state": 0,
"attribute": 16640,
"duration": 148,
"rights": {
"bp": 0,
"elec": 0,
"download": 1,
"movie": 0,
"pay": 0,
"hd5": 1,
"no_reprint": 0,
"autoplay": 1,
"ugc_pay": 0,
"is_cooperation": 0,
"ugc_pay_preview": 0
},
"owner": {
"mid": 37736515,
"name": "精鋭の見張り員",
"face": "http://i2.hdslb.com/bfs/face/37d684a236f078baa1e00539d9c16d667b4a6f1f.jpg"
},
"stat": {
"aid": 30669363,
"view": 7569,
"danmaku": 44,
"reply": 29,
"favorite":
......
弹幕
<cid>
https://api.bilibili.com/x/v1/dm/list.so?oid=<cid>
https://api.bilibili.com/x/v1/dm/list.so?oid=53534698
{
"i": {
"chatserver": [
"chat.bilibili.com"
],
"chatid": [
"53534698"
],
"mission": [
"0"
],
"maxlimit": [
"500"
],
"state": [
"0"
],
"real_name": [
"0"
],
"source": [
"k-v"
],
"d": [
{
"_": "(눈_눈)",
"$": {
"p": "53.32200,1,25,16777215,1535805851,0,f028907,4542261363212288"
}
},
{
"_": "大哥大嫂过年好",
"$": {
"p": "118.40600,5,25,15138834,1541414098,0,892760a2,7482598462849024"
}
},
{
"_": "刷绘里的几个意思……",
"$": {
"p": "12.85700,1,25,16777215,1545353720,0,7907fd34,9548094612439040"
}
},
{
"_": "草",
"$": {
"p": "116.61600,1,25,16777215,1545803269,0,8b709dfe,9783787808882688"
}
},
{
"_": "双核处理器kana?",
"$": {
"p": "115.41100,1,25,16777215,1546321539,0,66471589,10055510694821888"
......
<mid>
https://api.live.bilibili.com/room/v1/Room/getRoomInfoOld?mid=<mid>
https://api.live.bilibili.com/room/v1/Room/getRoomInfoOld?mid=349991143
{
"code": 0,
"msg": "ok",
"message": "ok",
"data": {
"roomStatus": 1,
"roundStatus": 0,
"liveStatus": 0,
"url": "https://live.bilibili.com/12235923",
"title": "はじめましてBGMです。",
"cover": "https://i0.hdslb.com/bfs/live/room_cover/b401f1166539dae805b9755624ce5b99a418d12c.jpg",
"online": 282578,
"roomid": 12235923,
"broadcast_type": 0
}
}
https://api.live.bilibili.com/guard/topList?roomid=<roomid>&page=[page]&ruid=<mid>
https://api.live.bilibili.com/guard/topList?roomid=12235923&page=1&ruid=349991143
{
"code": 0,
"msg": "success",
"message": "success",
"data": {
"info": {
"num": 613,
"page": 61,
"now": 1
},
"list": [
{
"uid": 1298744,
"ruid": 349991143,
"rank": 1,
"username": "抖M的牙刷",
"face": "https://i1.hdslb.com/bfs/face/0e28a486c4725266fbfb45f4dcb0623d8601d6f2.jpg",
"is_alive": 1,
"guard_level": 2
},
{
"uid": 70836,
"ruid": 349991143,
"rank": 2,
"username": "我抱头蹲防啦",
"face": "https://i2.hdslb.com/bfs/face/bc7a7b985e562c2bd4369cb704973866b1988c42.jpg",
"is_alive": 0,
"guard_level": 2
},
{
"uid": 730732,
"ruid": 349991143,
"rank": 3,
"username": "瓶子君152",
"face": "https://i2.hdslb.com/bfs/face/ef8070a00162afaf5205e75a481085b4b33f4cee.jpg",
"is_alive": 0,
"guard_level": 2
},
{
"uid": 1336969,
"ruid": 349991143,
"ra
......
<roomid>
https://api.live.bilibili.com/live_user/v1/UserInfo/get_anchor_in_room?roomid=<roomid>
https://api.live.bilibili.com/live_user/v1/UserInfo/get_anchor_in_room?roomid=12235923
{
"code": 0,
"msg": "success",
"message": "success",
"data": {
"info": {
"uid": 349991143,
"uname": "神楽めあOfficial",
"face": "https://i1.hdslb.com/bfs/face/49e143e1cae7f9e51b36c6c670976a95cc41ce12.jpg",
"rank": "10000",
"identification": 1,
"mobile_verify": 1,
"platform_user_level": 6,
"vip_type": 2,
"gender": 2,
"official_verify": {
"type": 0,
"desc": "bilibili 知名UP主",
"role": 1
}
},
"level": {
"uid": 349991143,
"cost": 639000,
"rcost": 3408799403,
"user_score": "0",
"vip": 0,
"vip_time": "2018-08-03 13:56:27",
"svip": 0,
"svip_time": "0000-00-00 00:00:00",
"update_time": "2019-04-22 16:52:39",
"master_level": {
"level": 33,
"current": [
6700000,
27313810
],
"next": [
9100000,
36413810
],
"color": 16746162,
"anchor_score": 3
......
UP主公告
<mid>
https://api.bilibili.com/x/space/notice?mid=<mid>
https://api.bilibili.com/x/space/notice?mid=349991143
{
"code": 0,
"message": "0",
"ttl": 1,
"data": "【QQ群】\nMeaMea公国第三国度:860327880\nMeaMea公国第一国度:431766969\nMeaMea公国第二国度:749547516"
}
bilibili直播一周元气榜分区排名
<mid>
https://api.live.bilibili.com/rankdb/v1/Common/roomInfo?ruid=<mid>
https://api.live.bilibili.com/rankdb/v1/Common/roomInfo?ruid=349991143
{
"code": 0,
"msg": "OK",
"message": "OK",
"data": {
"areaRank": {
"index": 4,
"rank": "79"
}
}
}
欢迎各种Issue和Pull Request
开Issue聊天也行→_→!!!
详细可以阅读 CONTRIBUTING.md