【C#】获取网页内容及HTML解析器HtmlAgilityPack的使用
最近經常需要下載一些東西,而這個下載地址又會經過層層跳轉,每個頁面上都有很多廣告,煩不勝煩,所以做了一個一鍵獲得最終下載地址的小工具。使用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
轉載于:https://www.cnblogs.com/trlanfeng/p/4115264.html
總結
以上是生活随笔為你收集整理的【C#】获取网页内容及HTML解析器HtmlAgilityPack的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ZOJ 3640
- 下一篇: 央行“意外“降息 专家称贷款买房者首先受