当前位置: 首页 / 代码分享 / 正文

封装百度收录量API查询PHP源码分享

发布时间:2020-09-06 00:43:52 作者:小超越君

创建一个baidupush.php文件,然后把以下代码放进去保存好。上传到服务器就可以实现根据域名来查询收录量了。这样就可以自己封装一个百度收录量API。

调用演示:你的域名/baidupush.php/?domain=www.zhe94.com

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
<?php
/*
Plugin Name:百度收录量
Version:1.0
Plugin URL:https://www.zhe94.com
Description:根据域名返回百度收录量
Author:小超越工作室
Author URL:https://www.zhe94.com
*/
        $domain = (isset($_GET['domain'])) ? $_GET['domain'] : $_POST['domain'];
        if (empty($domain))  echo '查询域名不能为空';
        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));
        }
        $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);

文章转载请保留本文链接:https://www.zhe94.com/766.html

小超越
热爱折腾,曾想着改变世界,如今只能向生活低头,寻找可口的牛奶和面包
添加站长微信作者头像
专注高品质湛江网站建设及湛江SEO优化服务 立即咨询