Heim php教程 php手册 用php抓取google关键词排名

用php抓取google关键词排名

Jun 13, 2016 am 10:46 AM
cookie curl google php Runter 储存 关键词 函数 利用 思路 抓取 排名 verwenden von

 

说下思路,利用PHP的curl函数储存cookie,google搜索页面是无法用file_get_connents打开的,必须要完全模拟浏览器才行,百度就不同了,直接用file_get_conntens抓取页面,然后用正则处理下就行了,这里就不列举百度了。

 

header("Content-Type: text/html;charset=utf-8");

 

function ggsearch($url_s, $keyword, $page = 1) {

        $enKeyword = urlencode($keyword);

 

        $rsState = false;

 

        $page_num = ($page -1) * 10;

 

 

        if ($page

                $interface = "eth0:" . rand(1, 4); //避免GG封IP

                $cookie_file = dirname(__FILE__) . "/temp/google.txt"; //存储cookie值

                $url = "http://www.google.com/search?q=$enKeyword&hl=en&prmd=imvns&ei=JPnJTvLFI8HlggeXwbRl&start=$page_num&sa=N";

                $ch = curl_init();

 

                curl_setopt($ch, CURLOPT_URL, $url);

 

                //curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);//获取浏览器类型

                curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 GTB5");

                curl_setopt($ch, CURLOPT_INTERFACE, "$interface"); //指定访问IP地址

                curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

 

                curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

 

                curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);

 

                $contents = curl_exec($ch);

 

                curl_close($ch);

 

                $match = "!

(.*)
\s+!";

                preg_match_all("$match", "$contents", $line);

                while (list ($k, $v) = each($line[0])) {

                        preg_match_all("!

]+>(.*?)!", $v, $title);

                        $num = count($title[1]);

                        for ($i = 0; $i

                                if (strstr($title[0][$i], $url_s)) {

                                        $rsState = true;

                                        $j = $i +1;

                                        $sum = $j + (($page) * 10 - 10);

                                        //echo $contents;

                                        echo "关键字" . $keyword . "
" . "排名:" . '' . $sum . '' . "####" . "第" . ''.$page . ''. " 页" . "第" .''.$j . ''. "名" . $title[0][$i] . "
";

                                        echo "" . "点击搜索结果" . "" . "
";

                                        echo "


";

                                        break;

                                }

                        }

                }

                unset ($contents);

                if ($rsState === false) {

                        ggsearch($url_s, $keyword, ++ $page); //找不到搜索页面的继续往下搜索

 

                }

        } else {

 

                echo '关键字' . $keyword . '10页之内没有该网站排名' . '
';

                echo "


";

        }

}

if (!empty ($_POST['submit'])) {

 

        $time = explode(' ', microtime());

        $start = $time[0] + $time[1];

        $more_key = trim($_POST['textarea']);

        $url_s = trim($_POST['url']);

        if (!empty ($more_key) && !empty ($url_s)) {

                /*判断输入字符的规律*/

                if (strstr($more_key, "\n")) {

                        $exkey = explode("\n", $more_key);

                }

                if(strstr($more_key, "|")) {

                        $exkey = explode("|", $more_key);

                }

                if(!strstr($more_key, "\n")&&!strstr($more_key, "|")){

                $exkey=array($more_key);

                }

/*判断是否有www或者http://之类的东西*/

                if (count(explode('.', $url_s))

 

                        $url = ltrim($url_s, 'http://www');

                        $url = 'www.' . $url_s;

                }

                foreach ($exkey as $keyword) {

                        //$keyword;

                        ggsearch($url_s, $keyword);

                }

                $endtime = explode(' ', microtime());

 

                $end = $endtime[0] + $endtime[1];

 

                echo '


';

                echo '程序运行时间: ';

                echo $end - $start;

                //die();

        }

}

?>

抓取排名

 

 

 

 

                        关键字:

格式例如:keyword1|keyword2|keyword3

  或者:      keyword1

          keyword2

          keyword3

 

 

 

                        url地址:

 

                       

www.2cto.com

 

 

 

摘自Shine的圣天堂-〃敏〃

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian

CakePHP Datum und Uhrzeit CakePHP Datum und Uhrzeit Sep 10, 2024 pm 05:27 PM

CakePHP Datum und Uhrzeit

CakePHP-Projektkonfiguration CakePHP-Projektkonfiguration Sep 10, 2024 pm 05:25 PM

CakePHP-Projektkonfiguration

CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

CakePHP-Datei hochladen

CakePHP-Routing CakePHP-Routing Sep 10, 2024 pm 05:25 PM

CakePHP-Routing

Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

Besprechen Sie CakePHP

Google öffnet AI Test Kitchen & Imagen 3 für die meisten Nutzer Google öffnet AI Test Kitchen & Imagen 3 für die meisten Nutzer Sep 12, 2024 pm 12:17 PM

Google öffnet AI Test Kitchen & Imagen 3 für die meisten Nutzer

CakePHP-Kurzanleitung CakePHP-Kurzanleitung Sep 10, 2024 pm 05:27 PM

CakePHP-Kurzanleitung

See all articles