|
什么是user agent
User Agent中文名為用戶代理,簡(jiǎn)稱(chēng) UA,它是一個(gè)特殊字符串頭,使得服務(wù)器能夠識(shí)別客戶使用的操作系統(tǒng)及版本、CPU 類(lèi)型、瀏覽器及版本、瀏覽器渲染引擎、瀏覽器語(yǔ)言、瀏覽器插件等。
網(wǎng)站可以通過(guò)判斷不同UA來(lái)呈現(xiàn)不同的網(wǎng)站,例如手機(jī)訪問(wèn)和PC訪問(wèn)顯示不同的頁(yè)面。
php在用file_get_contents函數(shù)采集網(wǎng)站時(shí),有時(shí)會(huì)明明用瀏覽器可以看,但就是采不到任何內(nèi)容。
這很有可能是服務(wù)器上做了設(shè)置,根據(jù) User_agent判斷是否為正常的瀏覽器請(qǐng)求,因?yàn)槟J(rèn)php的file_get_contents函數(shù)是不發(fā)送ua的。
如果要采集這樣的網(wǎng)站,我們就必須要讓php模擬瀏覽器發(fā)送UA,欺騙網(wǎng)站返回正常內(nèi)容。
實(shí)現(xiàn)如下:
ini_set('user_agent','Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; 4399Box.560; .NET4.0C; .NET4.0E)');
這是模擬IE8環(huán)境下的UA,當(dāng)然你也可以換成其他的。比如中火狐
也可以這樣讀取:
復(fù)制代碼 代碼如下:
$opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"Host: zh.wikipedia.org/r/n" .
"Accept-language: zh-cn/r/n" .
"User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; 4399Box.560; .NET4.0C; .NET4.0E)" .
"Accept: *//*"
)
);
php技術(shù):解析file_get_contents模仿瀏覽器頭(user_agent)獲取數(shù)據(jù),轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。