这篇文章主要介绍“ASP.NET数据采集程序怎么实现”,在日常操作中,相信很多人在ASP.NET数据采集程序怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ASP.NET数据采集程序怎么实现”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
ASP.NET技巧之数据采集程序***步,在下载数据的开始,有些网站是要登录了才能看到相应的数据,这个就需要我们发送登录用户名和密码了,但我是登录了,但他服务器也不是垃圾,在他那里重定向了,共产生了2个SESSION,这第2个SESSION我就不知道如何捕抓.于是我就投机^-^,用软件将SESSION捕抓下来了1个叫Ethereal的软件,用以下代码加入到HTTP请求的头部
WebClient myWebClient = new WebClient(); string sessionkey=textBox78.Text; string refererurl=textBox77.Text; myWebClient.Headers.Clear(); myWebClient.Headers.Add("Cookie",sessionkey); myWebClient.Headers.Add("Referer", refererurl); 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技巧之数据采集程序第二步,代码下载
byte[] myDataBuffer = myWebClient.DownloadData(remoteUri); download = Encoding.Default.GetString(myDataBuffer);
ASP.NET技巧之数据采集程序第三步,数据的匹配了,我是将流读取到数据里,然后用IndexOf得到2个关键字段的位置,然后用Substring取出来的,我知道这很笨,但用正则表达式难啊(谁会的指点我下),匹配完了得到的字符串我就用以下的函数去掉了HTML代码:
private string StripHTML(string strHtml) { string [] aryReg ={ @"<script[^>]*?>.*?</script>", @"<(\/\s*)?!?((\w+:)?\w+)(\w+(\s*=?\s*(([""'])(\\[""'tbnr]|[^\7])*?\7|\w+)|.{0})|\s)*?(\/\s*)?>", @"([\r\n])[\s]+", @"&(quot|#34);", @"&(amp|#38);", @"&(lt|#60);", @"&(gt|#62);", @"&(nbsp|#160);", @"&(iexcl|#161);", @"&(cent|#162);", @"&(pound|#163);", @"&(copy|#169);", @"&#(\d+);", @"-->", @"<!--.*\n" }; string [] aryRep = { "", "", "", "\"", "&", "<", ">", " ", "\xa1",//chr(161), "\xa2",//chr(162), "\xa3",//chr(163), "\xa9",//chr(169), "", "\r\n", "" }; string newReg =aryReg[0]; string strOutput=strHtml; for(int i = 0;i<aryReg.Length;i++) { Regex regex = new Regex(aryReg[i],RegexOptions.IgnoreCase ); strOutput = regex.Replace(strOutput,aryRep[i]); } strOutput.Replace("<",""); strOutput.Replace(">",""); strOutput.Replace("\r\n",""); return strOutput; }
到了后面就是入库了,这个大家都懂了吧.但是我还有点问题就是,在我写数据的时候,出了EXCEPTION,说我的字段太长了,不能写进到数据库,我用的是ACCESS,我试验下用SQL吧.
到此,关于“ASP.NET数据采集程序怎么实现”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。