[title]最近看到B站上的许多UP都有类似于Youtube后台类似的实时粉丝显示的面板,其实通过B站个人空间的API即可实现,不断刷新就可以实现粉丝数实时显示。[/title]
首先访问自己B站的个人空间,按F12,把显示的面板切换到Network,F5刷新就可以看到许多数据。找到类似于:stat?vmid=xxxxxxxx 这一段
然后把以下代码写入PHP文件中。访问 http://你的服务器IP或域名/?uid=xxx 就可以看见获取信息了
[code]<?php
header("Content-type: text/html; charset=utf-8");
error_reporting(E_ALL ^ E_NOTICE);// 显示除去 E_NOTICE 之外的所有错误信息
$uid = $_GET["uid"];
if ($uid != null) {
$file_contents = curl_get_https(‘https://api.bilibili.com/x/relation/stat?vmid=’ . $uid);
$arr = json_decode($file_contents,true);
echo "UID:" . $arr[‘data’][‘mid’] . "</br>";
echo "关注数:" . $arr[‘data’][‘following’] . "</br>";
echo "粉丝数:" . $arr[‘data’][‘follower’];
}
function curl_get_https($url){
$curl = curl_init(); // 启动一个CURL会话
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);// TRUE 将curl_exec()获取的信息以字符串返回,而不是直接输出。
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
$tmpInfo = curl_exec($curl); // 返回api的json对象
curl_close($curl);
return $tmpInfo; // 返回json对象
}
[title]简单实现实时显示粉丝数[/title]
[code]<?php
header("Content-type: text/html; charset=utf-8");
error_reporting(E_ALL ^ E_NOTICE);// 显示除去 E_NOTICE 之外的所有错误信息
$uid = $_GET["uid"];
if ($uid != null) {
$file_contents = curl_get_https(‘https://api.bilibili.com/x/relation/stat?vmid=’ . $uid);
$arr = json_decode($file_contents,true);
}
function curl_get_https($url){
$curl = curl_init(); // 启动一个CURL会话
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);// TRUE 将curl_exec()获取的信息以字符串返回,而不是直接输出。
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
$tmpInfo = curl_exec($curl); // 返回api的json对象
curl_close($curl);
return $tmpInfo; // 返回json对象
}
?>
<html>
<head>
<meta http-equiv="refresh" content="1">
<title>腾龙工作室实现B站粉丝数实时显示</title>
<style type="text/css">
#font {
font-family: "微软雅黑";
font-size: 40px;
color: #FF0000;
text-decoration: none;
text-align:center;
line-height:40px;
height: 50px;
width: 560px;
margin:0px auto;
border: 5px ridge #CCCCCC;
background-color: #333333;
padding-top: 8px;
padding-right: 5px;
padding-left: 5px;
background-image: url("http://www.srcfans.com/jscode/img/201204/LEDbj.gif");
}
</style>
</head>
<body>
<div id="font">
<?php echo "粉丝数:" . $arr[‘data’][‘follower’];?>
</div>
</body>
</html>[/code]
[info]腾龙工作室自己的B站粉丝数太少了而且变动太慢,所以演示使用的是“敖厂长”B站粉丝数。这里只是简单实现了这个效果,有兴趣的朋友自己研究一下吧。[/info]
[danger]参考文章:https://biantan.org/877.html[/danger]
学到了