B站跟微博越来越像了,被网友戏称“B博”,但是有个小细节跟微博还有点差异,在B站我的关注里,只能看到,xxx已关注,而看不到“互相关注”的字样!
如下图,右侧
那么如何自行的查下自己关注的人里哪些人也关注了我呢?
在b站https://api.bilibili.com/x/web-interface/card?mid=7530883&jsonp=jsonp&article=true
这个api里能够查询到,自己都关注了哪些人,所以利用这一点,挨个查询自己关注的人里是否有自己即可。
上php代码
<?php
header('Access-Control-Allow-Origin:*');
$id=$_SERVER["QUERY_STRING"];
$reg = '/^[0-9][0-9]*$/';
if(preg_match($reg,$id)){
// 从文件中读取数据到PHP变量
$json_string = file_get_contents('https://api.bilibili.com/x/web-interface/card?mid='.$id.'&jsonp=jsonp&article=true');
// 把JSON字符串转成PHP数组
$data = json_decode($json_string);
//定义我的关注数量,定义我关注的人的数组
$num=$data->data->card->attention;
$att=$data->data->card->attentions;
echo '<p>这些与你b站互关了:</p>';
//for循环挨个查询
for($i=0;$i<$num;$i++){
$json_string = file_get_contents('https://api.bilibili.com/x/web-interface/card?mid='.$att[$i].'&jsonp=jsonp&article=true');
$data = json_decode($json_string);
$tatt=$data->data->card->attentions;
if (in_array($id, $tatt)) {
echo $att[$i].'-'.$data->data->card->name.'<br>';
}
}
}else{echo "非法参数";}
?>
访问http://你的域名/hg.php?7530883
即可,其中hg换成你的php的文件名,而7530883换成你的b站id即可。
效果图如下:
代码效率比较低,垃圾博主不会优化...请各位大佬指路...
版权属于:泽泽社长
本文链接:https://blog.zezeshe.com/archives/php-bstation-gays.html
本站未注明转载的文章均为原创,并采用
CC BY-NC-SA 4.0 授权协议,转载请注明来源,谢谢!
B站最近不是整改吗...还有心思学习微博啊
那是审核部门和公关的事情,跟技术部门不挨着吧
也是,不知道能不能提出B站追番列表展示...(在你追漫那里说过)
可怕的操作。
不可怕,不可怕
我倒感觉没必要用json解析,先提取出'['和']'里面的内容然后再split(',',$文本变量),使用for循环,for循环里读取直接用字符查找.....(我也就只会嘴巴功夫,已经不玩php有点年头了,哈哈)
我觉得json比较方便
确实方便,而且也强大啊(昨天我写了个实例,发现本地环境下文本操作比json操作慢500ms,还是json吧......)