欢迎您光临自学哈网,只为分享网络知识教程,供大家学习参考!

「自学哈网」PHP实现百度收录量API查询实例代码

作者 : 自学哈 本文共3585个字,预计阅读时间需要9分钟 2022-10-8 共147人阅读
也想出现在这里? 联系我们

站长: 今天给大家分享一个php的百度收录查询 API源码,大家可自行封装为接口。实例代码: <? php

$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("rn", "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("rn", "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));
}

相关专题

本站声明:
本站所有资源来源于网络,分享目的仅供大家学习和交流!如若本站内容侵犯了原著者的合法权益,可联系邮箱976157886@qq.com进行删除。
自学哈专注于免费提供最新的分享知识、网络教程、网络技术的资源分享平台,好资源不私藏,大家一起分享!

自学哈网 » 「自学哈网」PHP实现百度收录量API查询实例代码
也想出现在这里? 联系我们
© 2022 Theme by - 自学哈网 & WordPress Theme. All rights reserved 浙ICP备2022016594号