【C#】擷取網頁內容及HTML解析器HtmlAgilityPack的使用

來源:互聯網
上載者:User

標籤:des   style   http   io   ar   color   使用   sp   on   

最近經常需要下載一些東西,而這個又會經過層層跳轉,每個頁面上都有很多廣告,煩不勝煩,所以做了一個一鍵獲得最終的小工具。使用C#,來擷取網頁內容,然後通過HtmlAgilityPack擷取某a標籤的href,不斷迴圈,層層跳轉,最後獲得最終。


下面,介紹HtmlAgilityPack的使用方法,這個方法也是從網上很多篇文章中拼湊摸索出來的,因為找了一大圈根本找不到HtmlAgilityPack的文檔……

首先,using HtmlAgilityPack;

程式碼片段:

string url = "http://www.baidu.com/";HtmlWeb htmlweb = new HtmlWeb();HtmlDocument htmldoc = htmlweb.Load(url);HtmlNodeCollection hnc = htmldoc.DocumentNode.SelectNodes("//div[@class=‘s_btn_wr‘]//input[@class=‘s_btn‘]");string text = hnc[hnc.Count - 1].Attributes["value"].Value;

要點:

htmlweb.Load:參數為url地址,功能是載入url頁面內容到htmldoc這個對象中。

HtmlNodeCollection:是一個集合,包含多個節點,它有count屬性,可以擷取數量,擷取最後一個節點使用hnc[hnc.Count - 1]。

htmldoc.DocumentNode.SelectNodes:選擇所有匹配的節點,參數為XPath文法,可以搜尋W3CShool的文法說明,我這裡的意思是擷取包含class等於s_btn_wr的div下面的class等於s_btn的input節點。

hnc[hnc.Count - 1].Attributes["value"].Value:擷取最後一個節點的value的屬性值。

基本瞭解了上面的內容之後,我想你已經基本能夠完成你想做的功能了。

轉載請註明出處,原文連結:http://fengyu.name/?cat=coding&id=294

【C#】擷取網頁內容及HTML解析器HtmlAgilityPack的使用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.