溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

使用php的curl根據(jù)關(guān)鍵詞爬取百度搜索結(jié)果頁

發(fā)布時(shí)間:2020-07-26 08:14:07 來源:網(wǎng)絡(luò) 閱讀:1768 作者:gutaotao1989 欄目:web開發(fā)

我想實(shí)現(xiàn)的是每次根據(jù)給出的關(guān)鍵詞搜索百度結(jié)果頁

其中php抓取代碼如下:

<?php

$url = "http://www.baidu.com/s?wd=生命動(dòng)力";

// 構(gòu)造包頭,模擬瀏覽器請求

$header = array (

"Host:www.baidu.com",

"Content-Type:application/x-www-form-urlencoded",//post請求

"Connection: keep-alive",

'Referer:http://www.baidu.com',

'User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; BIDUBrowser 2.6)'

);

$ch = curl_init ();

curl_setopt ( $ch, CURLOPT_URL, $url );

curl_setopt ( $ch, CURLOPT_HTTPHEADER, $header );

curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );

// 執(zhí)行

$content = curl_exec ( $ch );

if ($content == FALSE) {

echo "error:" . curl_error ( $ch );

}

// 關(guān)閉

curl_close ( $ch );


//輸出結(jié)果

echo $content;

?>


可是每次爬取結(jié)果都是無法爬取到百度推廣的內(nèi)容


原因如下:

你的user-agent沒有模擬好,所以不行。其實(shí)根本不需要用post,直接用get就可以了。


修改如下:


$url = "http://www.baidu.com/s?wd=生命動(dòng)力";

$header = array (

        'User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36'

);

$ch = curl_init ();

curl_setopt ( $ch, CURLOPT_URL, $url );

curl_setopt ( $ch, CURLOPT_HTTPHEADER, $header );

curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );

// 執(zhí)行

$content = curl_exec ( $ch );

if ($content == FALSE) {

    echo "error:" . curl_error ( $ch );

}

// 關(guān)閉

curl_close ( $ch );

 

//輸出結(jié)果

echo $content;

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI