本篇文章給大家分享的是有關(guān)asp.net 中怎么抓取網(wǎng)頁(yè)源代碼,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、庫(kù)倫網(wǎng)絡(luò)推廣、小程序設(shè)計(jì)、庫(kù)倫網(wǎng)絡(luò)營(yíng)銷、庫(kù)倫企業(yè)策劃、庫(kù)倫品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們大的嘉獎(jiǎng);創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供庫(kù)倫建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com///方法一:比較推薦 /// 用HttpWebRequest取得網(wǎng)頁(yè)源碼 /// 對(duì)于帶BOM的網(wǎng)頁(yè)很有效,不管是什么編碼都能正確識(shí)別 /// /// 網(wǎng)頁(yè)地址" ///返回網(wǎng)頁(yè)源文件 public static string GetHtmlSource2(string url) { //處理內(nèi)容 string html = ""; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Accept = "*/*"; //接受任意文件 request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.1.4322)"; // 模擬使用IE在瀏覽 request.AllowAutoRedirect = true;//是否允許302 //request.CookieContainer = new CookieContainer();//cookie容器, request.Referer = url; //當(dāng)前頁(yè)面的引用 HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream stream = response.GetResponseStream(); StreamReader reader = new StreamReader(stream, Encoding.Default); html = reader.ReadToEnd(); stream.Close(); return html; }
//方法二: public static string GetHttpData2(string Url) { string sException = null; string sRslt = null; WebResponse oWebRps = null; WebRequest oWebRqst = WebRequest.Create(Url); oWebRqst.Timeout = 50000; try { oWebRps = oWebRqst.GetResponse(); } catch (WebException e) { sException = e.Message.ToString(); } catch (Exception e) { sException = e.ToString(); } finally { if (oWebRps != null) { StreamReader oStreamRd = new StreamReader(oWebRps.GetResponseStream(), Encoding.GetEncoding("utf-8")); sRslt = oStreamRd.ReadToEnd(); oStreamRd.Close(); oWebRps.Close(); } } return sRslt; }
///方法三: /// /// /// /要訪問的網(wǎng)站地址 /// 目標(biāo)網(wǎng)頁(yè)的編碼,如果傳入的是null或者"",那就自動(dòng)分析網(wǎng)頁(yè)的編碼 ///public static string getHtml(string url, params string[] charSets) { try { string charSet = null; if (charSets.Length == 1) { charSet = charSets[0]; } WebClient myWebClient = new WebClient(); //創(chuàng)建WebClient實(shí)例myWebClient // 需要注意的: //有的網(wǎng)頁(yè)可能下不下來,有種種原因比如需要cookie,編碼問題等等 //這是就要具體問題具體分析比如在頭部加入cookie // webclient.Headers.Add("Cookie", cookie); //這樣可能需要一些重載方法.根據(jù)需要寫就可以了 //獲取或設(shè)置用于對(duì)向 Internet 資源的請(qǐng)求進(jìn)行身份驗(yàn)證的網(wǎng)絡(luò)憑據(jù). myWebClient.Credentials = CredentialCache.DefaultCredentials; //如果服務(wù)器要驗(yàn)證用戶名,密碼 //NetworkCredential mycred = new NetworkCredential(struser, strpassword); //myWebClient.Credentials = mycred; //從資源下載數(shù)據(jù)并返回字節(jié)數(shù)組.(加@是因?yàn)榫W(wǎng)址中間有"/"符號(hào)) byte[] myDataBuffer = myWebClient.DownloadData(url); string strWebData = Encoding.Default.GetString(myDataBuffer); //獲取網(wǎng)頁(yè)字符編碼描述信息 Match charSetMatch = Regex.Match(strWebData, " 以上就是asp.net 中怎么抓取網(wǎng)頁(yè)源代碼,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站制作公司行業(yè)資訊頻道。
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國(guó)云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開啟,新人活動(dòng)云服務(wù)器買多久送多久。
分享名稱:asp.net中怎么抓取網(wǎng)頁(yè)源代碼-創(chuàng)新互聯(lián)
文章路徑:http://weahome.cn/article/dejscj.html