看到有一些博主会把自己博客的收录数量显示在网站底部,把这个显示出来的好处一是自己可以知道网站收录数量多少(虽然我没有),二是申请友链的伙伴们也知道你网站有多少收录,但大多数人都是用别人的API接口来实现,假如别人的API接口失效了,自己网站就多了个404的JS文件,这样会导致网站打开速度慢了一点点!
通过搜索学习,看到有可以自建的查询,这里直接把接口源码分享了!
食用方法
1、新建一个php文件,把下面的代码粘贴进去;
2、API接口的源码,查询方法:your domain/file name.php?domain=查询域名
<?php
/*
Plugin Name:百度收录量查询
Version:1.0
Plugin URL:http://xxx.xx
Description:根据域名返回百度收录量
Author:xxx
Author URL:http://xxx.xx
*/
$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;
}
?>
评论