您好,登錄后才能下訂單哦!
這篇文章主要介紹“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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。