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

开发 后端
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.           @"<script[^>]*?>.*?</script>",  
  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.           @"<!--.*\n"           
  19.          };  
  20.  
  21.    string [] aryRep = {  
  22.            "",  
  23.            "",  
  24.            "",  
  25.            "\"",  
  26.            "&",  
  27.            "<",  
  28.            ">",  
  29.            " ",  
  30.            "\xa1",//chr(161),  
  31.            "\xa2",//chr(162),  
  32.            "\xa3",//chr(163),  
  33.            "\xa9",//chr(169),  
  34.            "",  
  35.            "\r\n",  
  36.            "" 
  37.           };  
  38.  
  39.    string newReg =aryReg[0];  
  40.    string strOutput=strHtml;  
  41.    for(int i = 0;i<aryReg.Length;i++)  
  42.    {  
  43.     Regex regex = new Regex(aryReg[i],RegexOptions.IgnoreCase );  
  44.     strOutput = regex.Replace(strOutput,aryRep[i]);  
  45.      
  46.    }  
  47.  
  48.    strOutput.Replace("<","");  
  49.    strOutput.Replace(">","");  
  50.    strOutput.Replace("\r\n","");  
  51.  
  52.  
  53.    return strOutput;  
  54.   }  

到了后面就是入库了,这个大家都懂了吧.但是我还有点问题就是,在我写数据的时候,出了EXCEPTION,说我的字段太长了,不能写进到数据库,我用的是ACCESS,我试验下用SQL吧.

ASP.NET技巧之数据采集程序就向你介绍到这里,希望对你使用ASP.NET书写数据采集程序有点帮助。

【编辑推荐】

  1. ASP.NET运行环境搭建浅析
  2. ASP.NET学习之ASP.NET概述
  3. ASP.NET优点的十一方面浅析
  4. ASP.NET数据库连接池设置浅析
  5. 如何学习ASP.NET之九步宝典
责任编辑:仲衡 来源: cnblogs
相关推荐

2009-08-04 10:02:36

中国站长站

2009-08-05 10:17:55

ASP.NET TheASP.NET开发技巧

2009-07-29 11:33:14

ASP.NET技巧ASP.NET应用程序

2009-07-29 13:42:25

ASP.NET注释

2009-08-10 13:32:15

ASP.NET TimASP.NET组件设计

2009-08-05 18:46:21

ComboBox显示ASP.NET控件开发

2009-08-03 13:38:18

ASP.NET编程模型

2009-08-13 17:52:27

C#数据采集

2009-08-05 18:32:28

HtmlTextWriASP.NET控件开发

2009-07-20 16:08:04

ASP.NET应用程序

2009-08-07 17:41:07

ASP.NET Web

2009-08-03 18:35:51

ASP.NET数据缓存

2009-08-05 18:36:12

ASP.NET Che

2009-07-24 13:41:15

ASP.NET AJA

2009-08-05 15:50:13

ASP.NET优点

2009-07-31 12:43:59

ASP.NET MVC

2009-08-04 14:56:34

ASP.NET数据类型

2009-07-28 17:36:21

ASP.NET数据库连

2009-08-03 11:21:47

ASP.NET编程模型

2009-08-06 15:21:45

ASP.NET控件开发RenderConte
点赞
收藏

51CTO技术栈公众号