首頁  >  文章  >  後端開發  >  PHP採集類別 Snoopy.class.php

PHP採集類別 Snoopy.class.php

WBOY
WBOY原創
2016-07-25 09:13:301008瀏覽
Snoopy是一個php採集類,用來模擬瀏覽器取得網頁內容和發送表單。

以下是一些Snoopy特性:

容易抓取網頁內容

容易抓取頁面文字(去除html標籤)

容易抓取網頁內連結

支援代理抓取

支援基本的使用者名稱、密碼認證

支援設定user-agent,referer,cookies和header內容

支援瀏覽器轉向,與控制轉向深度

能把頁面中的連結轉換成高品質的連結

容易提交資料和取得回饋值

能追蹤HTML框架

支援重定向的時候傳遞Cookies

Snoopy類,方法:

fetch($URI)

抓取網頁的內容而使用的方法。 $URI參數是被抓取網頁的URL位址。抓取的結果儲存在 $this->results 中。如果你正在抓取的是一個框架,Snoopy會將每個框架追蹤後存入數組中,然後存入 $this->results。

fetchtext($URI)

本方法類似fetch(),唯一不同的就是本方法會移除HTML標籤和其他的無關數據,只回傳網頁中的文字內容。

fetchform($URI)

本方法類似fetch(),唯一不同的就是本方法會移除HTML標籤和其他的無關數據,只回傳網頁中表單內容(form)。

fetchlinks($URI)

本方法類似fetch(),唯一不同的就是本方法會移除HTML標籤和其他的無關數據,只返回網頁中連結(link)。預設情況下,相對連結將自動補全,轉換成完整的URL。

submit($URI,$formvars)

本方法向$URL指定的連結位址發送確認表單。 $formvars是一個儲存表單參數的陣列。

submittext($URI,$formvars)

本方法類似submit(),唯一不同的就是本方法會移除HTML標籤和其他的無關數據,只傳回登陸後網頁中的文字內容。

submitlinks($URI)

本方法類似submit(),唯一不同的就是本方法會移除HTML標籤和其他的無關數據,只回傳網頁中連結(link)。預設情況下,相對連結將自動補全,轉換成完整的URL。

類別屬性: (缺省值在括號裡)

$host 連線的主機

$port 連接的連接埠

$proxy_host 使用的代理主機,如果有的話

$proxy_port 使用的代理主機端口,如果有的話

$agent 使用者代理偽裝 (Snoopy v0.1)

$referer 來路訊息,如果有的話

$cookies,如果有的話

$rawheaders 其他的頭資訊, 如果有的話

$maxredirs 最大重定向次數,0=不允許 (5)

$offsiteok whether or not to allow redirects off-site. (true)

$expandlinks 是否將連結都補全為完整位址 (true)

$user 認證使用者名稱, 如果有的話

$pass 認證使用者名稱, 如果有的話

$accept http 接受型別 (image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*)

$error 哪裡報錯, 如果有的話

$response_code 從伺服器回傳的回應代碼

$headers 從伺服器傳回的頭資訊

$maxlength 最長回傳資料長度

$read_timeout 讀取操作逾時 (requires PHP 4 Beta 4+) 設定為0為沒有逾時

$timed_out 如果一次讀取操作逾時了,本屬性回傳 true (requires PHP 4 Beta 4+)

$maxframes 允許追蹤的框架最大數量

$status 抓取的http的狀態

$temp_dir 網頁伺服器能夠寫入的暫存檔案目錄 (/tmp)

$curl_path cURL binary 的目錄, 如果沒有cURL binary就設定為 false

Snoopy官方網址:http://sourceforge.net/projects/snoopy/

希望這篇文章對廣大php開發者有幫助,感謝閱讀這篇文章。更多php技術問題歡迎加群探討:256271784,驗證碼:cxy,不寫驗證不予通過喲~


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn