您好,登錄后才能下訂單哦!
這篇文章主要介紹“怎么用C#實現抓取網站頁面的內容”,在日常操作中,相信很多人在怎么用C#實現抓取網站頁面的內容問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么用C#實現抓取網站頁面的內容”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
抓取新浪網的新聞欄目,如圖所示:
使用 谷歌瀏覽器的查看源代碼: 通過分析得知,我們所要找的內容在以下兩個標簽之間:
復制代碼 代碼如下:
<!-- publish_helper name='要聞-新聞' p_id='1' t_id='850' d_id='1' -->
內容。。。。
<!-- publish_helper name='要聞-財經' p_id='30' t_id='98' d_id='1' -->
如圖所示:
內容。。。。
使用VS建立一個如圖所示的網站:
我們下載網絡數據主要通過 WebClient 類來實現。
使用下面源代碼獲取我們選擇的內容:
復制代碼 代碼如下:
protected void Enter_Click(object sender, EventArgs e)
{
WebClient we = new WebClient(); //主要使用WebClient類
byte[] myDataBuffer;
myDataBuffer = we.DownloadData(txtURL.Text); //該方法返回的是 字節數組,所以需要定義一個byte[]
string download = Encoding.Default.GetString(myDataBuffer); //對下載的數據進行編碼
//通過查詢源代碼,獲取某兩個值之間的新聞內容
int startIndex = download.IndexOf("<!-- publish_helper name='要聞-新聞' p_id='1' t_id='850' d_id='1' -->");
int endIndex = download.IndexOf("<!-- publish_helper name='要聞-財經' p_id='30' t_id='98' d_id='1' -->");
string temp = download.Substring(startIndex, endIndex - startIndex + 1); //截取新聞內容
lblMessage.Text = temp;//顯示所截取的新聞內容
}
效果如圖:
最后: 除了把下載的數據保存為文本以外,還可以保存為 文件類型 和 流 類型。
復制代碼 代碼如下:
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#實現抓取網站頁面的內容”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。