PHP实例:百度收录量API查询

全屏阅读
  • 基本信息
  • 作者:
  • 作者已发布:924篇文章
  • 发布时间:2021年03月02日 21:01:18
  • 所属分类:PHP+MySql
  • 阅读次数:1857次阅读
  • 标签:
<?php
/*
Plugin Name:百度收录量
Version:1.0
Description:根据域名返回百度收录量
*/
$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($value,$url_arr,$domain,$row,$hostrow,$site,$resulturl,$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); 
     preg_match('/该网站共有(.*?)个网页被百度收录/i',$bdsite,$count);
     if (!$count) preg_match('/找到相关结果数约(.*?)个/i',$bdsite,$count);
     //ereg('该网站共有(.*)个网页被百度收录', $bdsite,$count); 
     //print_r($count);
     //$count=str_replace('该网站共有','',$count); 
     //$count=str_replace('个网页被百度收录','',$count); 
     $count = str_replace(array("\r\n", "\r", "\n", ',', ' '), '', $count); 
     $baiduSL=strip_tags($count[1]); 
     unset($count);
     return $baiduSL;
}
function BD_curl($url, $post=0, $referer=0, $cookie=0, $header=0, $ua=0, $nobaody=0){
    $ch = curl_init();
    $ip = rand(0,255).'.'.rand(0,255).'.'.rand(0,255).'.'.rand(0,255) ;
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    //$httpheader[] = "Host: www.baidu.com";
    //$httpheader[] = "Connection: keep-alive";
    //$httpheader[] = "Upgrade-Insecure-Requests: 1";
    //$httpheader[] = "User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36";
    $httpheader[] = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8";
    $httpheader[] = "Accept-Encoding: gzip, deflate, sdch, br";
    $httpheader[] = "Accept-Language: zh-CN,zh;q=0.8";
    //$httpheader[] = 'X-FORWARDED-FOR:'.$ip;
    //$httpheader[] = 'CLIENT-IP:'.$ip;
    curl_setopt($ch, CURLOPT_HTTPHEADER, $httpheader);
    if ($post) {
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
    }
    if ($header) {
        curl_setopt($ch, CURLOPT_HEADER, true);
    }
    if ($cookie) {
        curl_setopt($ch, CURLOPT_COOKIE, $cookie);
    }
    if($referer){
        if($referer==1){
            curl_setopt($ch, CURLOPT_REFERER, 'https://music.163.com/outchain/player?type=0&id=2250011882&auto=1');
        }else{
            curl_setopt($ch, CURLOPT_REFERER, $referer);
        }
    }
    if ($ua) {
        curl_setopt($ch, CURLOPT_USERAGENT, $ua);
    }
    else {
        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");
    }
    if ($nobaody) {
        curl_setopt($ch, CURLOPT_NOBODY, 1);
    }
    curl_setopt($ch, CURLOPT_TIMEOUT, 3);
    curl_setopt($ch, CURLOPT_ENCODING, "gzip");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $ret = curl_exec($ch);
    //$Headers = curl_getinfo($ch);
    curl_close($ch);
    return $ret;
}
function showjson($arr){
 header("Content-Type: application/json; charset=utf-8");
 exit(json_encode($arr,320));
}
?>

顶一下
(0)
100%
订阅 回复
踩一下
(0)
100%
» 郑重声明:本文由mpxq168发布,所有内容仅代表个人观点。版权归恒富网mpxq168共有,欢迎转载, 但未经作者同意必须保留此段声明,并给出文章连接,否则保留追究法律责任的权利! 如果本文侵犯了您的权益,请留言。

目前有 0 条留言 其中:访客:0 条, 博主:0 条

给我留言

您必须 [ 登录 ] 才能发表留言!