php查看B站互相关注的好友 - QQ爹博客
QQ爹博客 QQ爹博客

php查看B站互相关注的好友

in 代码相关 文章转载请注明来源!

B站跟微博越来越像了,被网友戏称“B博”,但是有个小细节跟微博还有点差异,在B站我的关注里,只能看到,xxx已关注,而看不到“互相关注”的字样!
如下图,右侧

B站关注界面.png

那么如何自行的查下自己关注的人里哪些人也关注了我呢?

在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即可。

效果图如下:

b博互粉好友.png

代码效率比较低,垃圾博主不会优化...请各位大佬指路...

jrotty WeChat Pay

微信打赏

jrotty Alipay

支付宝打赏

文章二维码

扫描二维码,在手机上阅读!

phpbilibiliapi
发表新评论
  • ]
已有 22 条评论
  1. chty78
    chty78Edge 21
    回复

    好评!查了一下发现自己没有互粉 = =。UA仅供参考 xD

  2. 落叶大大
    落叶大大 10火狐浏览器 52
    回复

    将 file_get_contents 换成curl 速度应该会快一些。

    1. Jrotty
      Jrotty本文作者 10Chrome 68
      回复

      @落叶大大 也许用js读取会更快

  3. Sakura
    Sakura 8.1火狐浏览器 41
    回复

    收藏下来备用hhh

    1. Sakura
      SakuraEdge 13
      回复

      @Sakura 诶诶诶我UA咋回事。。。

      1. Jrotty
        Jrotty本文作者 7Chrome 48
        回复

        @Sakura ua信息仅供参考

  4. 子午
    子午 10Chrome 68
    回复

    Chrome 已经主流了

  5. 笔墨伺候
    笔墨伺候 7Chrome 55
    回复

    来参观一下大佬博客

  6. 香菇
    香菇 10傲游浏览器 5
    回复

    瞧我发现了什么

    1. Jrotty
      Jrotty本文作者 NChrome 62
      回复

      @香菇 时时刻刻把香菇放在首位

前篇 后篇
雷姆
拉姆