文章摘要
很多网站会把收录数量显示在网站底部,一主要是可以知道网站收录数量,二是申请友链的其他站长也知道你网站有多少收录,大多数人都是用别人的API接口来实现,假如别人的API接口失效了,自己网站就多了个404的JS文件,有一点需要注意这样可能会使网站打开速度受影响!这里直接把实现的接口源码分享了!
效果展示:
调用api接口返回数量:
我们先分享一下API接口的源码,查询用法实例:你网站域名/文件.php?domain=查询域名
[pay_info]
<?php
/*
Plugin Name: XY-百度收录量
Description: XY-根据域名返回百度收录量
*/
$domain = (isset($_GET['domain']))?$_GET['domain']:$_POST['domain'];
if(empty($domain)) echo '查询域名不能为空';
$count = baiduSL ($domain);
if(!isset($count)) showjson(array('code'=>200502,'msg'=>'查询失败,请重试!'));
if(!$count) $count = 0;
$result=array(
'code'=>1,
'domain'=>$domain,
'data'=>$count
);
print_r(json_encode($result));
unset($domain,$result,$ch);
function baiduSL ($domain) {
$baidu='https://www.baidu.com/s?ie=utf-8&tn=baidu&wd=site%3A'.$domain;
$bdsite=BD_curl($baidu);
$bdsite = str_replace(array("\r\n", "\r", "\n", ' '), '', $bdsite);
if (!$count) preg_match('/找到相关结果数约(.*?)个/i',$bdsite,$count);
$baiduSL=strip_tags($count[1]);
unset($count);
return $baiduSL;
}
function BD_curl($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$ret = curl_exec($ch);
curl_close($ch);
return $ret;
}
?>
[/pay_info]
这种就是平常用的别人搭建好的方式,直接拿来用,但是说不定哪天就失效了。所以还是得自己掌握搭建源码才是万全之策。
本站搭建接口如下:
https://soujiz.com/api/baidu.php?domain=
在网站中正确的调用,实现本站底部百度收录效果代码。
<span>收录统计: </span><span id="baidu"></span><script type="text/javascript">
var baidu = 'https://soujiz.com/api/baidu.php?domain=查询域名';
$.getJSON(baidu,function(data){$('#baidu').append('<svg class="icon" aria-hidden="true" style="color:blue;"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-baidu" rel="external nofollow" ></use></svg> '+data.data+'条');});</script>

