PHP類(lèi)Snoopy的特點(diǎn)分析
大家都知道在PHP語(yǔ)言中,具有很多功能強(qiáng)大的函數(shù),來(lái)幫助程序員們完成各種功能需求。我們今天要為大家介紹的則是PHP類(lèi)Snoopy的一些相關(guān)知識(shí)。
#t#PHP類(lèi)Snoopy是什么?
Snoopy是一個(gè)php類(lèi),用來(lái)模仿web瀏覽器的功能,它能完成獲取網(wǎng)頁(yè)內(nèi)容和發(fā)送表單的任務(wù)。
PHP類(lèi)Snoopy的一些特點(diǎn):
* 方便抓取網(wǎng)頁(yè)的內(nèi)容
* 方便抓取網(wǎng)頁(yè)的文本內(nèi)容 (去除HTML標(biāo)簽)
* 方便抓取網(wǎng)頁(yè)的鏈接
* 支持代理主機(jī)
* 支持基本的用戶名/密碼驗(yàn)證
* 支持設(shè)置 user_agent, referer(來(lái)路), cookies 和 header content(頭文件)
* 支持瀏覽器轉(zhuǎn)向,并能控制轉(zhuǎn)向深度
* 能把網(wǎng)頁(yè)中的鏈接擴(kuò)展成高質(zhì)量的url(默認(rèn))
* 方便提交數(shù)據(jù)并且獲取返回值
* 支持跟蹤HTML框架(v0.92增加)
* 支持再轉(zhuǎn)向的時(shí)候傳遞cookies (v0.92增加)
PHP類(lèi)Snoopy正確運(yùn)行需要你的服務(wù)器的 PHP 版本在 4 以上,并且支持 PCRE(Perl Compatible Regular Expressions),基本的 LAMP 服務(wù)都支持。
它提供以下的接口或者方法:
fetch($URI)
這個(gè)方法是抓取網(wǎng)頁(yè)的內(nèi)容,$URI 是要抓取網(wǎng)頁(yè)的網(wǎng)址,抓取過(guò)來(lái)結(jié)果存儲(chǔ)到 $this->results。如果你抓取的是框架,這每個(gè) frame 都會(huì)被抓取,結(jié)果會(huì)保存到一個(gè)數(shù)組中。
fetchtext($URI)
這個(gè)方法和 fetch() 是大致相同,只是它的結(jié)果是文本,除去 HTML 標(biāo)簽和其他無(wú)關(guān)信息。
fetchform($URI)
這個(gè)方法只返回抓取的網(wǎng)頁(yè)上 form 元素。
fetchlinks($URI)
這個(gè)方法只返回抓取的網(wǎng)頁(yè)上的鏈接,默認(rèn)返回的鏈接都是含有域名的鏈接。
submit($URI,$formvars)
這個(gè)方法提交一個(gè)表單到指定的 $URI。$formvars 是要傳遞的 form 變量數(shù)組。
submittext($URI,$formvars)
這個(gè)方法和 submit() 基本一致,但是它返回的是文本,除去了 html 標(biāo)簽和其他無(wú)關(guān)數(shù)據(jù)。
submitlinks($URI)
這個(gè)方法返回的是鏈接。
以上這些就是PHP類(lèi)Snoopy的全部?jī)?nèi)容介紹,希望對(duì)大家有所幫助。