Php發(fā)送Http請求,抓取網(wǎng)頁數(shù)據(jù)方法_第1頁
Php發(fā)送Http請求,抓取網(wǎng)頁數(shù)據(jù)方法_第2頁
Php發(fā)送Http請求,抓取網(wǎng)頁數(shù)據(jù)方法_第3頁
Php發(fā)送Http請求,抓取網(wǎng)頁數(shù)據(jù)方法_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

Php發(fā)送Http請求,抓取網(wǎng)頁數(shù)據(jù)方法php發(fā)送Http請求,抓取網(wǎng)頁數(shù)據(jù)方法(cURL,file_get_contents,snoopy)curl()、file_get_contents()、snoopy.class.php這三個(gè)遠(yuǎn)程頁面抓取或采集中用到的工具,他們功能相當(dāng),到底有是么優(yōu)缺點(diǎn)呢,下面逐一介紹:snoopy.class.phpsnoopy是用fsockopen自開發(fā)的一個(gè)類,效率比較高且不需要服務(wù)器特定配置支持在普通虛擬主機(jī)中即可使用,但是經(jīng)常出問題。官方下載網(wǎng)址:/projectsSnoopy是一個(gè)php類,用來模擬瀏覽器的功能,可以獲取網(wǎng)頁內(nèi)容,發(fā)送表單。Snoopy的特點(diǎn):1、 抓取網(wǎng)頁的內(nèi)容fetch2、 抓取網(wǎng)頁的文本內(nèi)容(去除HTML標(biāo)簽)fetchtext3、 抓取網(wǎng)頁的鏈接,表單fetchlinksfetchform4、 支持代理主機(jī)5、 支持基本的用戶名/密碼驗(yàn)證6、支持設(shè)置user_agent,referer(來路),cookies和headercontent(頭文件)7、 支持瀏覽器重定向,并能控制重定向深度8、 能把網(wǎng)頁中的鏈接擴(kuò)展成高質(zhì)量的url(默認(rèn))9、 提交數(shù)據(jù)并且獲取返回值10、 支持跟蹤HTML框架11、 支持重定向的時(shí)候傳遞cookies要求php4以上就可以了,由于本身是php一個(gè)類,無需擴(kuò)支持,服務(wù)器不支持curl時(shí)候的最好選擇。附:snoopy中文手冊:/view/a2110c2al92e45361066f53a.html使用示例:/code-snippet/2480/php-usage-Snoopy-class-php-do-http-get-post-requestsnoopy的缺陷與CURL的強(qiáng)大:/showT047T.shtmlfile_get_contents()file_get_contents是fsockopen功能的簡單打包,效率稍低些,但是抓取成功率很高,所以在snoopy出問題的時(shí)候我一般那他來。5.0.0添加了對context的支持,有了context,他也可以發(fā)送header信息,自定義用戶agent,referer,cookies都不在話下。5.1.0添加了offset和maxlen參數(shù),可以只讀文件的一部分內(nèi)容。curl()curl一般用來抓取網(wǎng)頁,第二種就是get或者post數(shù)據(jù),第三種應(yīng)用就是實(shí)現(xiàn)PHP的多線程任務(wù)。功能最強(qiáng)大,幾乎可以模擬瀏覽器的各個(gè)方面,幾乎可以以假亂真。效率也很高,支持多線程,不過需要開啟下curl擴(kuò)展。cURL是一個(gè)利用URL語法規(guī)定來傳輸文件和數(shù)據(jù)的工具,支持很多協(xié)議,女口HTTP、FTP、TELNET等。PHP也支持cURL庫,我們常常用來遠(yuǎn)程頁面抓取和采集。也支持?jǐn)帱c(diǎn)續(xù)傳Range的代碼:$ch=curl_init();curl_setopt($ch,CURLOPT_URL,'http://www.spiegel.de/');curl_setopt($ch,CURLOPT_RANGE,'0-500');curl_setopt($ch,CURLOPT_BINARYTRANSFER,1);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);$result=curl_exec($ch);curl_close($ch);echo$result;/***Butasnotedbeforeiftheserverdoesn'thonorthisheaderbutsendsthewholefilecurlwilldownloadallofit.E.g.ignorestheheader.Butyoucan(inaddition)setawritefunctioncallbackandaborttherequestwhenmoredataisreceived,e.g.*php5.3+only*usefunctionwritefn($ch,$chunk){...}forearlierversions*/$writefn=function($ch,$chunk){static$data='';static$limit=500;//500bytes,it'sonlyatest$len=strlen($data)+strlen($chunk);if($len>=$limit){$data.=substr($chunk,0,$limit-strlen($data));echostrlen($data),'',$data;return-1;}$data.=$chunk;returnstrlen($chunk);};$ch=curl_init();curl_setopt($ch,CURLOPT_URL,'/');curl_setopt($ch,CURLOPT_RANGE,'0-500');curl_setopt($ch,CURLOPT_B

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論