新聞中心
我想實現(xiàn)的是每次根據(jù)給出的關(guān)鍵詞搜索百度結(jié)果頁
其中php抓取代碼如下:
$url = "http://www.baidu.com/s?wd=生命動力";
// 構(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沒有模擬好,所以不行。其實根本不需要用post,直接用get就可以了。
修改如下:
$url = "http://www.baidu.com/s?wd=生命動力";
$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;
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
名稱欄目:使用php的curl根據(jù)關(guān)鍵詞爬取百度搜索結(jié)果頁-創(chuàng)新互聯(lián)
URL地址:http://fisionsoft.com.cn/article/cojeic.html