標籤: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的使用