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,不寫驗證不予通過喲~ |