通过uid对b站用户等级进行划分脚本
Posted Love丶伊卡洛斯
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过uid对b站用户等级进行划分脚本相关的知识,希望对你有一定的参考价值。
前言
开发语言:JS
使用说明:
注意:这个API需要在b站的网站下执行,跨域会被拒绝(很重要哦,另外请求太多可能会被禁请求,需要注意)
1、来到b站页面,按F12打开开发者工具
2、点击“控制台”或者叫 “console”
3、贴入代码,修改uids,填入用户uid的数组,例如:(注意是英文逗号)
var uids = [
1,2,3,4,5
];
4、回车运行即可,等到打印完成后,会输出人数分布。
5、输入 show_level(你想看的对应等级的数字); 然后回车,查看对应等级用户信息。例如:
效果图
源码
// 此处填入uid的数组,用,分隔
var uids = [
];
var infos = [];
var url = "https://api.bilibili.com/x/space/acc/info?token=&platform=web&jsonp=jsonp&mid=";
console.log("开始运行");
for(let i = 0; i < uids.length; i++)
setTimeout(() =>
get_baseinfo(url + uids[i], i);
, 100 * (i + 1));
function get_baseinfo(url, index)
var xmlhttp;
if(window.XMLHttpRequest)
//code for IE7+,Firefox,Chrome,Opera,Safari
xmlhttp = new XMLHttpRequest();
else
//code for IE6,IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.onreadystatechange = function()
if(xmlhttp.readyState == 4)
if(xmlhttp.status == 200)
var str = xmlhttp.responseText;
if(str.length == 0)
return "";
//console.log(str);
var json = JSON.parse(str);
// console.log(json);
var info = "uid": json["data"]["mid"], "name": json["data"]["name"], "level": json["data"]["level"];
infos.push(info);
if(uids.length - 1 == index)
console.log("数据获取完毕,如果相应获取单个level的用户信息,请输入 show_level(你想看的对应等级的数字); 然后回车喵");
console.log(infos);
show_num();
else
//alert(xmlhttp.status);
else
//alert(xmlhttp.readyState);
xmlhttp.open("GET", url, true);
xmlhttp.send();
function show_num()
var level = [0, 0, 0, 0, 0, 0, 0];
for(var i = 0; i < infos.length; i++)
if(infos[i]["level"] < 1) level[0] += 1;
else if(infos[i]["level"] < 2) level[1] += 1;
else if(infos[i]["level"] < 3) level[2] += 1;
else if(infos[i]["level"] < 4) level[3] += 1;
else if(infos[i]["level"] < 5) level[4] += 1;
else if(infos[i]["level"] < 6) level[5] += 1;
else level[6] += 1;
console.log("用户等级分布统计 0:" + level[0] + " ,1:" + level[1] + " ,2:" + level[2] + " ,3:" + level[3] + " ,4:" + level[4] + " ,5:" + level[5] + " ,6:" + level[6]);
function show_level(level)
for(var i = 0; i < infos.length; i++)
if(infos[i]["level"] == level) console.log("uid:" + infos[i]["uid"], " name:" + infos[i]["name"]);
以上是关于通过uid对b站用户等级进行划分脚本的主要内容,如果未能解决你的问题,请参考以下文章