我之前看别人使用QQ机器人的时候,有一个站长工具插件,但是收费,应该是对接的API,本来我想写的,但是写了一半(只写了API部分)发现没什么用,而且百度的经常要验证。我写了百度、bing、搜狗、Google、雅虎这5个的接口。
返回效果如图:
![图片[1]-百度、bing、搜狗、Google、雅虎的收录量查询API - KEKC博客-KEKC博客](http://www.kekc.cn/wp-content/uploads/2022/09/d2b5ca33bd023459.png)
百度、bing、搜狗的API代码:
<?php/*Plugin Name: XY-百度收录量Description: XY-根据域名返回百度收录量*/$domain = (isset($_GET['domain']))?$_GET['domain']:$_POST['domain'];if(empty($domain)) echo '查询域名不能为空';$baiducount = baiduSL ($domain);$bingcount = bingSL ($domain);$sogoucount = sogouSL($domain);$googleyahoodata = file_get_contents("http://www.c4r.cn/sl.php?domain=".$domain);$googleyahoojson = json_decode($googleyahoodata);$googlecount = $googleyahoojson -> google;$yahoocount = $googleyahoojson -> yahoo;if(!isset($bingcount)) $bingcount = "查询失败";if(!$bingcount) $bingcount = 0;if(!isset($baiducount)) $baiducount = "查询失败";if(!$baiducount) $baiducount = 0;if(!isset($googlecount)) $googlecount = "查询失败";if(!$googlecount) $googlecount = 0;if(!isset($yahoocount)) $yahoocount = "查询失败";if(!$yahoocount) $yahoocount = 0;$result=array('code'=>1,'domain'=>$domain,'data'=>array('baidu'=>$baiducount,'bing'=>$bingcount,'google'=>$googlecount,'yahoo'=>$yahoocount,'sogou'=>$sogoucount,));print_r(json_encode($result));unset($domain,$result,$ch);function sogouSL ($domain) {$sogou='http://www.sogou.com/web?query=site%3A'.$domain;$sogousite=curl($sogou);$sogousite = str_replace(array("\r\n", "\r", "\n", ' '), '', $sogousite);if (!@$count) preg_match('/<p class="sr-num">找到约(.*?)条结果/i',$sogousite,$count);$sogouSL=@strip_tags($count[1]);unset($count);return $sogouSL;}function baiduSL ($domain) {$baidu='https://www.baidu.com/s?ie=utf-8&tn=baidu&wd=site%3A'.$domain;$bdsite=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 bingSL ($domain) {$bing='https://cn.bing.com/search?q=site%3A'.$domain;$bingsite=curl($bing);$bingsite = str_replace(array("\r\n", "\r", "\n", ' '), '', $bingsite);if (!@$count) preg_match('/<span class="sb_count">(.*?) 条结果/i',$bingsite,$count);$bingSL=@strip_tags($count[1]);unset($count);return $bingSL;}function curl($url){$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Safari/537.36 Edg/103.0.1264.49");curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);$ret = curl_exec($ch);curl_close($ch);return $ret;}?><?php /* Plugin Name: XY-百度收录量 Description: XY-根据域名返回百度收录量 */ $domain = (isset($_GET['domain']))?$_GET['domain']:$_POST['domain']; if(empty($domain)) echo '查询域名不能为空'; $baiducount = baiduSL ($domain); $bingcount = bingSL ($domain); $sogoucount = sogouSL($domain); $googleyahoodata = file_get_contents("http://www.c4r.cn/sl.php?domain=".$domain); $googleyahoojson = json_decode($googleyahoodata); $googlecount = $googleyahoojson -> google; $yahoocount = $googleyahoojson -> yahoo; if(!isset($bingcount)) $bingcount = "查询失败"; if(!$bingcount) $bingcount = 0; if(!isset($baiducount)) $baiducount = "查询失败"; if(!$baiducount) $baiducount = 0; if(!isset($googlecount)) $googlecount = "查询失败"; if(!$googlecount) $googlecount = 0; if(!isset($yahoocount)) $yahoocount = "查询失败"; if(!$yahoocount) $yahoocount = 0; $result=array( 'code'=>1, 'domain'=>$domain, 'data'=>array( 'baidu'=>$baiducount, 'bing'=>$bingcount, 'google'=>$googlecount, 'yahoo'=>$yahoocount, 'sogou'=>$sogoucount, ) ); print_r(json_encode($result)); unset($domain,$result,$ch); function sogouSL ($domain) { $sogou='http://www.sogou.com/web?query=site%3A'.$domain; $sogousite=curl($sogou); $sogousite = str_replace(array("\r\n", "\r", "\n", ' '), '', $sogousite); if (!@$count) preg_match('/<p class="sr-num">找到约(.*?)条结果/i',$sogousite,$count); $sogouSL=@strip_tags($count[1]); unset($count); return $sogouSL; } function baiduSL ($domain) { $baidu='https://www.baidu.com/s?ie=utf-8&tn=baidu&wd=site%3A'.$domain; $bdsite=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 bingSL ($domain) { $bing='https://cn.bing.com/search?q=site%3A'.$domain; $bingsite=curl($bing); $bingsite = str_replace(array("\r\n", "\r", "\n", ' '), '', $bingsite); if (!@$count) preg_match('/<span class="sb_count">(.*?) 条结果/i',$bingsite,$count); $bingSL=@strip_tags($count[1]); unset($count); return $bingSL; } function curl($url){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Safari/537.36 Edg/103.0.1264.49"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $ret = curl_exec($ch); curl_close($ch); return $ret; } ?><?php /* Plugin Name: XY-百度收录量 Description: XY-根据域名返回百度收录量 */ $domain = (isset($_GET['domain']))?$_GET['domain']:$_POST['domain']; if(empty($domain)) echo '查询域名不能为空'; $baiducount = baiduSL ($domain); $bingcount = bingSL ($domain); $sogoucount = sogouSL($domain); $googleyahoodata = file_get_contents("http://www.c4r.cn/sl.php?domain=".$domain); $googleyahoojson = json_decode($googleyahoodata); $googlecount = $googleyahoojson -> google; $yahoocount = $googleyahoojson -> yahoo; if(!isset($bingcount)) $bingcount = "查询失败"; if(!$bingcount) $bingcount = 0; if(!isset($baiducount)) $baiducount = "查询失败"; if(!$baiducount) $baiducount = 0; if(!isset($googlecount)) $googlecount = "查询失败"; if(!$googlecount) $googlecount = 0; if(!isset($yahoocount)) $yahoocount = "查询失败"; if(!$yahoocount) $yahoocount = 0; $result=array( 'code'=>1, 'domain'=>$domain, 'data'=>array( 'baidu'=>$baiducount, 'bing'=>$bingcount, 'google'=>$googlecount, 'yahoo'=>$yahoocount, 'sogou'=>$sogoucount, ) ); print_r(json_encode($result)); unset($domain,$result,$ch); function sogouSL ($domain) { $sogou='http://www.sogou.com/web?query=site%3A'.$domain; $sogousite=curl($sogou); $sogousite = str_replace(array("\r\n", "\r", "\n", ' '), '', $sogousite); if (!@$count) preg_match('/<p class="sr-num">找到约(.*?)条结果/i',$sogousite,$count); $sogouSL=@strip_tags($count[1]); unset($count); return $sogouSL; } function baiduSL ($domain) { $baidu='https://www.baidu.com/s?ie=utf-8&tn=baidu&wd=site%3A'.$domain; $bdsite=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 bingSL ($domain) { $bing='https://cn.bing.com/search?q=site%3A'.$domain; $bingsite=curl($bing); $bingsite = str_replace(array("\r\n", "\r", "\n", ' '), '', $bingsite); if (!@$count) preg_match('/<span class="sb_count">(.*?) 条结果/i',$bingsite,$count); $bingSL=@strip_tags($count[1]); unset($count); return $bingSL; } function curl($url){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Safari/537.36 Edg/103.0.1264.49"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $ret = curl_exec($ch); curl_close($ch); return $ret; } ?>
Google、雅虎的API代码:
<?php$domain = (isset($_GET['domain']))?$_GET['domain']:$_POST['domain'];$yahoocount = yahooSL ($domain);$googlecount = googleSL ($domain);$result=array('yahoo'=>$yahoocount,'google'=>$googlecount);print_r(json_encode($result));function yahooSL ($domain) {$yahoo='https://hk.search.yahoo.com/search;?p=site%3A'.$domain;$yahoosite=curl($yahoo);$bingsite = str_replace(array("\r\n", "\r", "\n", ' '), '', $yahoosite);if (!@$count) preg_match('/大約 (.*?) 個搜尋結果/i',$yahoosite,$count);$yahooSL=@strip_tags($count[1]);unset($count);return $yahooSL;}function googleSL ($domain) {$google='https://www.google.com/search?q=site%3A'.$domain;$googlesite=curl($google);$googlesite = str_replace(array("\r\n", "\r", "\n", ' '), '', $googlesite);if (!@$count) preg_match('/約 (.*?) 項搜尋結果/i',$googlesite,$count);$googleSL=@strip_tags($count[1]);unset($count);return $googleSL;}function curl($url){$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Safari/537.36 Edg/103.0.1264.49");curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);$ret = curl_exec($ch);curl_close($ch);return $ret;}<?php $domain = (isset($_GET['domain']))?$_GET['domain']:$_POST['domain']; $yahoocount = yahooSL ($domain); $googlecount = googleSL ($domain); $result=array( 'yahoo'=>$yahoocount, 'google'=>$googlecount ); print_r(json_encode($result)); function yahooSL ($domain) { $yahoo='https://hk.search.yahoo.com/search;?p=site%3A'.$domain; $yahoosite=curl($yahoo); $bingsite = str_replace(array("\r\n", "\r", "\n", ' '), '', $yahoosite); if (!@$count) preg_match('/大約 (.*?) 個搜尋結果/i',$yahoosite,$count); $yahooSL=@strip_tags($count[1]); unset($count); return $yahooSL; } function googleSL ($domain) { $google='https://www.google.com/search?q=site%3A'.$domain; $googlesite=curl($google); $googlesite = str_replace(array("\r\n", "\r", "\n", ' '), '', $googlesite); if (!@$count) preg_match('/約 (.*?) 項搜尋結果/i',$googlesite,$count); $googleSL=@strip_tags($count[1]); unset($count); return $googleSL; } function curl($url){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Safari/537.36 Edg/103.0.1264.49"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $ret = curl_exec($ch); curl_close($ch); return $ret; }<?php $domain = (isset($_GET['domain']))?$_GET['domain']:$_POST['domain']; $yahoocount = yahooSL ($domain); $googlecount = googleSL ($domain); $result=array( 'yahoo'=>$yahoocount, 'google'=>$googlecount ); print_r(json_encode($result)); function yahooSL ($domain) { $yahoo='https://hk.search.yahoo.com/search;?p=site%3A'.$domain; $yahoosite=curl($yahoo); $bingsite = str_replace(array("\r\n", "\r", "\n", ' '), '', $yahoosite); if (!@$count) preg_match('/大約 (.*?) 個搜尋結果/i',$yahoosite,$count); $yahooSL=@strip_tags($count[1]); unset($count); return $yahooSL; } function googleSL ($domain) { $google='https://www.google.com/search?q=site%3A'.$domain; $googlesite=curl($google); $googlesite = str_replace(array("\r\n", "\r", "\n", ' '), '', $googlesite); if (!@$count) preg_match('/約 (.*?) 項搜尋結果/i',$googlesite,$count); $googleSL=@strip_tags($count[1]); unset($count); return $googleSL; } function curl($url){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Safari/537.36 Edg/103.0.1264.49"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $ret = curl_exec($ch); curl_close($ch); return $ret; }
至于为什么要分开写,那是因为我服务器国内的,Google、雅虎需要转接一下。
© 版权声明
THE END
暂无评论内容