【C#】获取网页内容及HTML解析器HtmlAgilityPack的使用
最近經(jīng)常需要下載一些東西,而這個(gè)下載地址又會(huì)經(jīng)過層層跳轉(zhuǎn),每個(gè)頁面上都有很多廣告,煩不勝煩,所以做了一個(gè)一鍵獲得最終下載地址的小工具。使用C#,來獲取網(wǎng)頁內(nèi)容,然后通過HtmlAgilityPack獲取某a標(biāo)簽的href,不斷循環(huán),層層跳轉(zhuǎn),最后獲得最終下載地址。
下面,介紹HtmlAgilityPack的使用方法,這個(gè)方法也是從網(wǎng)上很多篇文章中拼湊摸索出來的,因?yàn)檎伊艘淮笕Ω菊也坏紿tmlAgilityPack的文檔……
首先,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;要點(diǎn):
htmlweb.Load:參數(shù)為url地址,功能是加載url頁面內(nèi)容到htmldoc這個(gè)對(duì)象中。
HtmlNodeCollection:是一個(gè)集合,包含多個(gè)節(jié)點(diǎn),它有count屬性,可以獲取數(shù)量,獲取最后一個(gè)節(jié)點(diǎn)使用hnc[hnc.Count - 1]。
htmldoc.DocumentNode.SelectNodes:選擇所有匹配的節(jié)點(diǎn),參數(shù)為XPath語法,可以搜索W3CShool的語法說明,我這里的意思是獲取包含class等于s_btn_wr的div下面的class等于s_btn的input節(jié)點(diǎn)。
hnc[hnc.Count - 1].Attributes["value"].Value:獲取最后一個(gè)節(jié)點(diǎn)的value的屬性值。
基本了解了上面的內(nèi)容之后,我想你已經(jīng)基本能夠完成你想做的功能了。
轉(zhuǎn)載請(qǐng)注明出處,原文鏈接:http://fengyu.name/?cat=coding&id=294
轉(zhuǎn)載于:https://www.cnblogs.com/trlanfeng/p/4115264.html
總結(jié)
以上是生活随笔為你收集整理的【C#】获取网页内容及HTML解析器HtmlAgilityPack的使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。