snoopy是乙個php類,用來模仿web瀏覽器的功能,它能完成獲取網頁內容和傳送表單的任務。
下面是它的一些特徵:
1、方便抓取網頁的內容11111111111
2、方便抓取網頁的文字(去掉html**)
3、方便抓取網頁的鏈結
4、支援**主機
5、支援基本的使用者/密碼認證模式
6、支援自定義使用者agent,referer,cookies和header內容
7、支援瀏覽器轉向,並能控制轉向深度
8、能把網頁中的鏈結擴充套件成高質量的url(預設)
9、方便提交資料並且獲取返回值
10、支援跟蹤html框架(v0.92增加)
11、支援再轉向的時候傳遞cookies
下面是簡單的例子,比如說我們抓取我的blog的文字
include
"snoopy.class.php";
$snoopy
= new
snoopy
;$snoopy
->
fetchtext("
");echo
$snoopy
->
results;
^_^,不錯把,在比如抓取鏈結
include
"snoopy.class.php";
$snoopy
= new
snoopy
;$snoopy
->
fetchlinks("
");print_r
($snoopy
->
results);
使用snoopy提交資料實現登陸
模擬登陸可以用curl或者socket來實現,當curl需要伺服器相應的啟用curl module,自己socket實現相對比較麻煩,使用snoopy就簡單了很多啦。
在這裡,我們使用喜悅國際村做為例子。(^_^,純屬研究)
首先,我們要獲取到登陸需要傳送什麼字段,目標位址是什麼。這裡我們使用snoopy的fetchform來實現。
include
"snoopy.class.php";
$snoopy
= new
snoopy
;$snoopy
->
fetchform("
$snoopy
->
results;
**如下:
include
"snoopy.class.php";
$snoopy
= new
snoopy
;$submit_url= "
";$submit_vars["
loginmode"]
= "normal";
$submit_vars["
styleid"]
= "1"
;$submit_vars["
cookietime"]
= "315360000";
$submit_vars["
loginfield"]
= "username";
$submit_vars["
username"]
= "********";
//你的使用者名稱
$submit_vars["
password"]
= "*******";
//你的密碼
$submit_vars["
questionid"]
= "0"
;$submit_vars["
answer"]
= ""
;$submit_vars["
loginsubmit"]
= "提 交";
$snoopy
->
submit
($submit_url
,$submit_vars);
$snoopy
->
results;
網頁抓取小工具
整體思路 1 抓取出目錄中各章節的名稱及url 2 遍歷章節url,獲取具體內容 3 將章節url進行分包,交給多執行緒處理 4 將處理完的內容重新整理,按章節名稱排序 5 將內容寫入txt檔案 首先抓取導航頁面的內容,通過webrequest物件獲取網頁內容 通過鏈結位址獲取html內容 priv...
Python 抓取網頁的庫和工具
twisted 抓網頁,它有優秀的非同步事件驅動的架構,常見的協定都已經有實做,包括http smtp等等 getpage addcallback printpage 一行就可以抓網頁 lxml 效率高,支援xpath def getnextpagelink self,tree get next p...
網頁抓取小工具(IE法)
用ie提取網頁資料的好處在於 所見即所得,網頁上能看到的資訊一般都能獲取。本工具功能不多,主要是便於提取網頁上展示的資訊所在元素的 希望能對大家有點小幫助。網頁抓取小工具.rar 6 在新生成的excel裡,點選 執行 按鈕,看是否能生成所需資料。如果生成的資料和開始分析的資料不符,原因可能是 1 ...