PHP採集類:Snoopy.class.php

Snoopy是一個php採集類,用來模擬瀏覽器獲取網頁內容和發送表單。php

下面是一些Snoopy特性: 數組

  • 容易抓取網頁內容
  • 容易抓取頁面文本(去除HTML標籤)
  • 容易抓取網頁內連接
  • 支持代理抓取
  • 支持基本的用戶名、密碼認證
  • 支持設置user-agent,referer,cookies和header內容
  • 支持瀏覽器轉向,和控制轉向深度
  • 能把頁面中的連接轉化成高質量的連接
  • 容易提交數據和得到返還值
  • 能追蹤HTML框架
  • 支持重定向的時候傳遞Cookies

Snoopy類,方法:瀏覽器

fetch($URI)服務器

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

fetchtext($URI)框架

本方法相似於fetch(),惟一不一樣的就是本方法會去除HTML標籤和其餘的無關數據,只返回網頁中的文字內容。curl

fetchform($URI)oop

本方法相似於fetch(),惟一不一樣的就是本方法會去除HTML標籤和其餘的無關數據,只返回網頁中表單內容(form)。post

fetchlinks($URI)fetch

本方法相似於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/

相關文章
相關標籤/搜索