C# 實(shí)現(xiàn)抓取網(wǎng)站頁面內(nèi)容的實(shí)例方法
抓取新浪網(wǎng)的新聞欄目,如圖所示:
使用 谷歌瀏覽器的查看源代碼: 通過分析得知,我們所要找的內(nèi)容在以下兩個(gè)標(biāo)簽之間:
<!-- publish_helper name='要聞-新聞' p_id='1' t_id='850' d_id='1' -->
內(nèi)容。。。。
<!-- publish_helper name='要聞-財(cái)經(jīng)' p_id='30' t_id='98' d_id='1' -->
如圖所示:
內(nèi)容。。。。
使用VS建立一個(gè)如圖所示的網(wǎng)站:
我們下載網(wǎng)絡(luò)數(shù)據(jù)主要通過 WebClient 類來實(shí)現(xiàn)。
使用下面源代碼獲取我們選擇的內(nèi)容:
protected void Enter_Click(object sender, EventArgs e)
{
WebClient we = new WebClient(); //主要使用WebClient類
byte[] myDataBuffer;
myDataBuffer = we.DownloadData(txtURL.Text); //該方法返回的是 字節(jié)數(shù)組,所以需要定義一個(gè)byte[]
string download = Encoding.Default.GetString(myDataBuffer); //對下載的數(shù)據(jù)進(jìn)行編碼
//通過查詢源代碼,獲取某兩個(gè)值之間的新聞內(nèi)容
int startIndex = download.IndexOf("<!-- publish_helper name='要聞-新聞' p_id='1' t_id='850' d_id='1' -->");
int endIndex = download.IndexOf("<!-- publish_helper name='要聞-財(cái)經(jīng)' p_id='30' t_id='98' d_id='1' -->");
string temp = download.Substring(startIndex, endIndex - startIndex + 1); //截取新聞內(nèi)容
lblMessage.Text = temp;//顯示所截取的新聞內(nèi)容
}
效果如圖:
最后: 除了把下載的數(shù)據(jù)保存為文本以外,還可以保存為 文件類型 和 流 類型。
WebClient wc = new WebClient();
wc.DownloadFile(TextBox1.Text, @"F:\test.txt");
Label1.Text = "文件下載完成";
WebClient wc = new WebClient();
Stream s = wc.OpenRead(TextBox1.Text);
StreamReader sr = new StreamReader(s);
Label1.Text = sr.ReadToEnd();
- C#多線程爬蟲抓取免費(fèi)代理IP的示例代碼
- c# 抓取Web網(wǎng)頁數(shù)據(jù)分析
- C# 抓取網(wǎng)頁內(nèi)容的方法
- c# HttpWebRequest通過代理服務(wù)器抓取網(wǎng)頁內(nèi)容應(yīng)用介紹
- C#實(shí)現(xiàn)通過程序自動(dòng)抓取遠(yuǎn)程Web網(wǎng)頁信息的代碼
- asp.net c# 抓取頁面信息方法介紹
- c#根據(jù)網(wǎng)址抓取網(wǎng)頁截屏生成圖片的示例
- 基于C#實(shí)現(xiàn)網(wǎng)絡(luò)爬蟲 C#抓取網(wǎng)頁Html源碼
- C#實(shí)現(xiàn)抓取和分析網(wǎng)頁類實(shí)例
- c#批量抓取免費(fèi)代理并且驗(yàn)證有效性的實(shí)戰(zhàn)教程
相關(guān)文章
asp.net(c#)實(shí)現(xiàn)從sqlserver存取二進(jìn)制圖片的代碼
有一個(gè)員工表Employee,需要保存員工照片(Photo)到數(shù)據(jù)庫(sql server)上。員工照片對應(yīng)的字段是varbinary(max),也就是要存成二進(jìn)制文件類型(這和以前討巧地存圖片文件路徑就不相同了),默認(rèn)可以為空。2011-09-09ASP.NET?MVC實(shí)現(xiàn)樹形導(dǎo)航菜單
這篇文章介紹了ASP.NET?MVC實(shí)現(xiàn)樹形導(dǎo)航菜單的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-09-09asp.net TextBox回車觸發(fā)事件 圖片在img顯示
TextBox回車觸發(fā)事件 數(shù)據(jù)庫取圖片在img顯示2009-10-10asp.net?core?中的Jwt(Json?Web?Token)的使用詳解
session不支持分布式并且在服務(wù)器存儲(chǔ)一份用戶登錄的信息,這份登錄信息會(huì)在響應(yīng)時(shí)傳遞給瀏覽器,告訴其保存為cookie,以便下次請求時(shí)發(fā)送給我們的應(yīng)用,這篇文章主要介紹了asp.net?core?中的Jwt(Json?Web?Token)的使用,需要的朋友可以參考下2022-10-10關(guān)于 嘗試讀取或?qū)懭胧鼙Wo(hù)的內(nèi)存。這通常指示其他內(nèi)存已損壞。的解決方法
這篇文章主要介紹了嘗試讀取或?qū)懭胧鼙Wo(hù)的內(nèi)存。這通常指示其他內(nèi)存已損壞。的解決方法,有需要的朋友可以參考一下2013-12-12asp.net ListView交替背景顏色實(shí)現(xiàn)代碼
在asp.net中ListView的交替背景顏色實(shí)現(xiàn),GridView的處理得較多,ListView可以這樣實(shí)現(xiàn)。2010-02-02解析如何利用一個(gè)ASP.NET Core應(yīng)用來發(fā)布靜態(tài)文件
本文主要通過一些簡單的實(shí)例來體驗(yàn)一下如何在一個(gè)ASP.NET Core應(yīng)用中發(fā)布靜態(tài)文件。針對不同格式的靜態(tài)文件請求的處理,ASP.NET Core為我們提供了三個(gè)中間件,它們將是本系列文章論述的重點(diǎn)。有需要的朋友可以看下2016-12-12