昨天在 5118 的 API 商城闲逛的时候发现“网站 5118 权重查询”API 竟然是免费的,通过该 API 可以获得指定网站的百度 PC、百度移动和 360 好搜的权重数据。刚好 boke112 导航的博客目录页没有权重信息,所以就想着折腾一下,添加上这个 5118 权重信息好像也不错。
5118 权重是根据搜索引擎自然排名词的总量、页面的丰富程度等因素,综合评定 10 9 8 7 … 1 共 10 个等级,10 为最高等级;同时根据平均排名将各等级的所有网站进行优劣评级,分为优、中、弱 3 个级别,以“+、无符号、-”表示,例如 9 级,就会有 9+,9,9-。
1、获取网站 5118 权重查询 API
我们可以访问 5118 官网 – API 商城 – 网站排名中找到“网站 5118 权重查询”API(或直接点此打开),点击该 API 之后进入详细页面,点击【获取应用】按钮稍等片刻即可获得该 API,在账号设置 – API 商城 – 我的 API 中就可以看到刚才获得的“网站 5118 权重查询”API 的 Key 值,此值留待下步使用。
网站 5118 权重查询 API 说明
- 接口地址:http://apis.5118.com/weight
- 返回格式:json
- 请求方式:POST
JSON 返回示例:
{
"errcode": "0",
"errmsg": "",
"data": {
"result": [
{
"type": "BaiduPCWeight",
"weight": "10+"
},
{
"type": "BaiduMobileWeight",
"weight": "8"
},
{
"type": "HaoSouWeight",
"weight": "7"
}
]
}
}
2、获取 5118 权重数据
这个 API 返回的是 json 格式,对于这种数据的折腾我还真不太熟悉,幸好该 API 给出了 PHP 示例代码,具体如下:
<?php
header("Content-type:text/html; charset=utf-8");
/*参数 1:请求的 URL;参数 2:以 CURL 方式设置 http 的请求头;参数 3:要提交的数据包*/
function doCurlPostRequest($url,$header,$data){
$ch = curl_init();
/*请求地址*/
curl_setopt($ch, CURLOPT_URL, $url);
/*以 CURL 方式设置 http 的请求头*/
curl_setopt($ch, CURLOPT_HTTPHEADER,$header);
/*文件流形式*/
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
/*发送一个常规的 Post 请求*/
curl_setopt($ch, CURLOPT_POST, 1);
/*Post 提交的数据包*/
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
return curl_exec($ch);
}
/*请求的 URL*/
$url = "http://apis.5118.com/weight";
/*要提交的数据包*/
$data = "url=www.jd.com";
/*以 CURL 方式设置 http 的请求头*/
$header[] = "Content-type:application/x-www-form-urlencoded";
/*输入你要调用 API 的 APIKEY*/
$header[] = "Authorization: APIKEY XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
/*调用 CURL POST 函数*/
$result=doCurlPostRequest($url,$header,$data);
print_r($result);
/*退出当前的脚本*/
exit;
?>
有了这个示例代码,我们只需要通过以下代码就可以分别获得百度 PC、百度移动和 360 好搜的权重数据,具体如下:
$myjson= json_decode($result);
$qzxinxi = $myjson->data->result;
$BaiduPCWeight = $qzxinxi[0]->weight;
$BaiduMobileWeight = $qzxinxi[1]->weight;
$HaoSouWeight = $qzxinxi[2]->weight;
3、改造博客目录页
5118 中显示的权重样式还是挺好看的,本想折腾成这个样子,后来为了偷懒就直接最简单的文字,看起来比较丑陋,大家将就着看吧。由于不折腾 CSS 代码,而第二步已经获得了百度 PC、百度移动和 360 好搜的权重数据,那么就直接在博客目录页输出这些数据即可,具体代码就不贴出来了。最终效果如下图所示:
小结
由于不太懂 PHP 如何获取 JSON 格式的数据,所以网上搜索相关资料学习了一番,然后才成功获取出百度 PC、百度移动和 360 好搜的权重数据。这个获取权重数据的过程比较耗时,其他步骤都相对简单。如果有熟悉 PHP 获取 JSON 格式数据的站长,有更好的获取方法欢迎留言或 QQ 交流。