首先要了解對方網頁的運行機制 ,這可以用httpwacth或者httplook來看一下http發送和接收的數據。這兩個工具應該說是比較簡單易懂的。這裡就不再介紹了。主要關注的內容是header和post的內容。一般會包括cookie,Referer頁面和其他一些亂其八糟可能看不懂的變量,還有就是正常交互的參數,比如需要post或者get的querystring所包含的東西。
httplook和httpwacth 網上有很多下載的,這裡推薦使用httpwach,因為可以直接嵌入到ie中,個人覺得這個比較好用。這兩個工具可以到我上傳在csdn的資源中下載,地址為
http://download.csdn.net/user/jinjazz
這裡簡單給出一段可以抓取數據的c#代碼,比如登錄某個網站,獲取登錄成功後的html代碼,供數據分析使用。
private void login() { System.Net.WebClient wb = new System.Net.WebClient(); System.Collections.Specialized.NameValueCollection header = new System.Collections.Specialized.NameValueCollection(); header.Add( " Cookie " , " czJ_cookietime=2592000; czJ_onlineusernum=1651; czJ_sid=w4bGJd " ); header.Add( " Referer " , @" http://hovertree.net/bbs/login.php " ); wb.Headers.Add(header); System.Collections.Specialized.NameValueCollection data = new System.Collections.Specialized.NameValueCollection(); data.Add( " formhash " , " ebd2faac " ); data.Add( " referer " , " http://hovertree.net/bbs/search.php " ); data.Add( " loginfield " , " username " ); data.Add( " username " , " jinjazz " ); data.Add( " password " , " 999 " ); data.Add( " questionid " , " 0 " ); data.Add( " answer " , "" ); data.Add( " cookietime " , " 2592000 " ); data.Add( " loginmode " , "" ); data.Add( " styleid " , "" ); data.Add( " loginsubmit " , " 提交 " ); byte [] b = wb.UploadValues( " http://hovertree.net/bbs/login.php " , " Post " , data); string strData = System.Text.Encoding.Default.GetString(b); Console.WriteLine(strData); }
以上代碼除了三個url之外其他數據都是真實的,其中header和data中的參數和值都是用httpwatch來監測後得到。