前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用腾讯云图做一个粉丝数据查看器

使用腾讯云图做一个粉丝数据查看器

原创
作者头像
Ar-Sr-Na
修改2020-06-09 14:38:16
1.5K0
修改2020-06-09 14:38:16
举报
文章被收录于专栏:Ar-Sr-NaAr-Sr-Na

准备

平台粉丝数API,以bilibili举例

腾讯云图

云服务器或云函数

PHP,JavaScript基础

原理

抓取数据API,然后对API进行格式化,然后提取数组,映射到腾讯云图上

API获取

API可以在github上找,也可以F12查找,github上有bilibili非官方整理的APIhttps://github.com/SocialSisterYi/bilibili-API-collect

比如粉丝数,是这个API:https://api.bilibili.com/x/relation/stat?vmid=24749747

代码语言:txt
复制
其中:https://api.bilibili.com/x/relation/stat?vmid={查找的uid}

uid可以在个人空间里找到uid例如:

代码语言:txt
复制
https://space.bilibili.com/24749747

24749747就是UID

腾讯云图对接

在腾讯云图里,编辑数据源用API,如果你直接输入https://api.bilibili.com/x/relation/stat?vmid=24749747,得到的结果是

代码语言:txt
复制
{"code":0,"message":"0","ttl":1,"data":{"mid":24749747,"following":179,"whisper":0,"black":4,"follower":7708}}

格式化一下

代码语言:txt
复制
{
    "code":0,
    "message":"0",
    "ttl":1,
    "data":{
        "mid":24749747,
        "following":179,
        "whisper":0,
        "black":4,
        "follower":7708
    }
}

有用的数据在data里,其余都是返回码,所以只要

你会发现有二级数组,而且腾讯云图数据格式要有中括号,二级数组在腾讯云里是没办法提取出来的,所以必须要进行处理

数据处理

这里用的是PHP,因为扩展性强

首先先获得bilibiliapi的内容:

代码语言:txt
复制
//$表示变量 根据自己习惯来
$json= file_get_contents('https://api.bilibili.com/x/relation/stat?vmid=24749747');

再把json格式数据解码为php的数组

代码语言:txt
复制
//注意这部分变量
$array= array(json_decode($json));

去掉返回的代码值,只提取data部分

代码语言:txt
复制
$ss = array_column($array, 'data');

将数据转换为json格式,再范化为腾讯云图数据格式,把"{"替换为"{","}"替换为"}"

代码语言:txt
复制
$a= str_replace("{","[{",$json);
$b= str_replace("}","}]",$a);

最后输出结果

代码语言:txt
复制
print($jsona);

整合起来就是

代码语言:txt
复制
<?php
$json= file_get_contents('https://api.bilibili.com/x/relation/stat?vmid=24749747');
$array= array(json_decode($json));
$ss = array_column($array, 'data');
$jsona= json_encode($ss);
$a= str_replace("{","[{",$json);
$b= str_replace("}","}]",$a);
print($jsona);
?>

腾讯云图映射

上传API

PHP的API可以托管给腾讯云函数,每个月有100万次免费额度,或者交给自己服务器处理,这部分不多讲

然后再腾讯云图里把数据改为API,输入PHP路径

勾上

数据如下

代码语言:txt
复制
[
  {
    "mid": 24749747,
    "following": 179,
    "whisper": 0,
    "black": 0,
    "follower": 7708
  }
]

mid:用户UID

Following:关注数

下面两个不知道什么

Follower:粉丝数

根据实际情况映射

2020-6-9更新:

对于需要SESSDATA的API

首先打开平台网站,然后在网址栏左侧点击

找到网站的域名处,选择SESSDATA

记录这一部分的数值

然后再在PHP代码里添加curl的get请求,并且格式化为腾讯云图格式:

代码语言:txt
复制
$ch =curl_init();
curl_setopt($ch,CURLOPT_URL,'输入API的地址');
//此处输入浏览器Cookie中的SESSDATA,保密!
$sessdata= 
curl_setopt($ch,CURLOPT_COOKIE,$sessdata);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
//此处输出的是变量,需要Print或者return输出值,但是还需要进一步格式化
$array= array(json_decode($response,true));
//提取data值
$sss = array_column($array, 'data');
$jsona= json_encode($sss);
//格式化
$fin= str_replace("[[","[",$jsona);
$finb= str_replace("]]","]",$fin);
//输出值
print_r($finb);

经过格式化后数据已经正常

横纵代表意义去bilibiliAPI的github上查阅

到此,教程结束,感谢支持

更多玩法等你探索!

我是Ar-Sr-Na,业余无线电爱好者,个人网站www.arsrna.com

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 准备
  • 原理
  • API获取
  • 腾讯云图对接
    • 数据处理
    • 腾讯云图映射
      • 上传API
      • 2020-6-9更新:
        • 对于需要SESSDATA的API
        • 到此,教程结束,感谢支持
        相关产品与服务
        腾讯云图数据可视化
        腾讯云图数据可视化(Tencent Cloud Visualization) 是一站式数据可视化展示平台,旨在帮助用户快速通过可视化图表展示大量数据,低门槛快速打造出专业大屏数据展示。精心预设多种行业模板,极致展示数据魅力。采用拖拽式自由布局,全图形化编辑,快速可视化制作。腾讯云图数据可视化支持多种数据来源配置,支持数据实时同步更新,同时基于 Web 页面渲染,可灵活投屏多种屏幕终端。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档