ASP.NET技巧之数据采集程序浅析


  本文标签:数据采集程序 ASP.NET技巧

  ASP.NET技巧之数据采集程序介绍开始首先我们来看看一点概念,所谓的数据采集程序也就是网页小偷程序(大家别骂我哦),写完了来这里发点东西,希望大家有何高见共同研究.

  ASP.NET技巧之数据采集程序第一步,在下载数据的开始,有些网站是要登录了才能看到相应的数据,这个就需要我们发送登录用户名和密码了,但我是登录了,但他服务器也不是垃圾,在他那里重定向了,共产生了2个SESSION,这第2个SESSION我就不知道如何捕抓.于是我就投机^-^,用软件将SESSION捕抓下来了1个叫Ethereal的软件,用以下代码加入到HTTP请求的头部

  1. WebClient myWebClient = new WebClient();  
  2. string sessionkey=textBox78.Text;  
  3.      string refererurl=textBox77.Text;  
  4.      myWebClient.Headers.Clear();       
  5.      myWebClient.Headers.Add("Cookie",sessionkey);  
  6.      myWebClient.Headers.Add("Referer", refererurl);  
  7.      myWebClient.Headers.Add("User-agent""Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5) Gecko/20031107 Debian/1.5-3"); 

  这样就欺骗了服务器了,哈哈

  ASP.NET技巧之数据采集程序第二步,代码下载

  1. byte[] myDataBuffer = myWebClient.DownloadData(remoteUri);  
  2.  download = Encoding.Default.GetString(myDataBuffer); 

  ASP.NET技巧之数据采集程序第三步,数据的匹配了,我是将流读取到数据里,然后用IndexOf得到2个关键字段的位置,然后用Substring取出来的,我知道这很笨,但用正则表达式难啊(谁会的指点我下),匹配完了得到的字符串我就用以下的函数去掉了HTML代码:

  1. private string StripHTML(string strHtml)  
  2.   {  
  3.    string [] aryReg ={  
  4.           @"]*?>.*?",  
  5.           @"<(\/\s*)?!?((\w+:)?\w+)(\w+(\s*=?\s*(([""])(\\[""tbnr]|[^\7])*?\7|\w+)|.{0})|\s)*?(\/\s*)?>",  
  6.           @"([\r\n])[\s]+",  
  7.           @"&(quot|#34);",  
  8.           @"&(amp|#38);",  
  9.           @"&(lt|#60);",  
  10.           @"&(gt|#62);",   
  11.           @"&(nbsp|#160);",   
  12.           @"&(iexcl|#161);",  
  13.           @"&(cent|#162);",  
  14.           @"&(pound|#163);",  
  15.           @"&(copy|#169);",  
  16.           @"&#(\d+);",  
  17.           @"-->",  
  18.           @"