HtmlAgilityPack API簡明介紹

2021-05-28 07:36:29 字數 3393 閱讀 5826

2011-06-24 01:56:40

標籤: htmlagilitypack

html

.netc#

原始出處 、作者資訊和本宣告。否則將追究法律責任。

xmlversion="1.0"

encoding="utf-8"

?>

<

articles

>

<

article

>

<

title

>在asp.net中使用highcharts js圖表

title

>

<

url>

url>

<

createat

type="en"

>2011-04-07

price

>

article

>

<

article

>

<

title

lang="eng"

>log4net使用詳解(續)

title

>

<

url>

url>

<

createat

type="zh-cn"

>2023年11月23日

price

>

article

>

<

article

>

<

title

>j2me開發的一般步驟

title

>

<

url>

url>

<

createat

type="zh-cn"

>2023年06月12日

price

>

article

>

<

article

>

<

title

lang="eng"

>powerdesign高階應用

title

>

<

url>

url>

<

createat

type="zh-cn"

>2007-09-08

price

>

article

>

articles

>

針對上面的xml檔案,我們列出了帶有謂語的一些路徑表示式,以及表示式的結果:

/articles/article[1]:選取屬於articles子元素的第乙個article元素。

/articles/article[last()]:選取屬於articles子元素的最後乙個article元素。

/articles/article[last()-1]:選取屬於articles子元素的倒數第二個article元素。

/articles/article[position()<3]:選取最前面的兩個屬於 bookstore 元素的子元素的article元素。

//title[@lang]:選取所有擁有名為lang的屬性的title元素。

//createat[@type='zh-cn']:選取所有createat元素,且這些元素擁有值為zh-cn的type屬性。

/articles/article[order>2]:選取articles元素的所有article元素,且其中的order元素的值須大於2。

/articles/article[order<3]/title:選取articles元素中的article元素的所有title元素,且其中的order元素的值須小於3。

htmlagilitypack api簡明介紹

在htmlagilitypack中常用到的類有htmldocument、htmlnodecollection、

htmlnode和htmlweb等。

其流程一般是先獲取html,這個可以通過htmldocument的load()或loadhtml()來載入靜態內容,或者也可以htmlweb的get()或load()方法來載入網路上的url對應的html。

得到了htmldocument的例項之後,就可以用htmldocument的documentnode屬性,這是整個html文件的根節點,它本身也是乙個htmlnode,然後就可以利用htmlnode的selectnodes()方法返回多個htmlnode的集合物件htmlnodecollection,也可以利用htmlnode的selectsinglenode()方法返回單個htmlnode。

htmlagilitypack實戰

下面是乙個解析csdn部落格的**例項:

總結:htmlagilitypack確實是乙個功能強大、體積小的開源html解析類庫,在本篇僅僅是介紹了其中幾個類的用法,但光這些就足以供周公快速實現了許久沒有實現的功能,如果讓周公用正規表示式來實現類似的功能,時間肯定要比用這個長得多。

說明:周公最近也在琢磨一些關於微博的應用,如果有相同愛好者或者在使用微博的讀者,請圍觀周公的微博,**是:

HtmlAgilityPack相關網頁

多執行緒 替換webbrowser預設的彈出選單 c webbrowser 獲得選中部分的html原始碼 linq to xml操作xml 向htmlagilitypack道歉 解析html還是你好用 通過 webbrowser 獲取網頁截圖 c 無限迴圈treeview 資料庫 datatable...

C 使用HtmlAgilityPack爬蟲例項

使用htmlagilitypack類庫解析html非常方便,網上的資料有很多,可以自行搜尋了解 下面上乙個非常簡單的小例子 要爬取的資訊如下 首先要引用htmlagilitypack.dll檔案 上 internal void run httptool類 初始化請求 請求頭資訊可以按自己需求增加 p...

使用HtmlAgilityPack抓取網頁資料

剛剛學習了xpath路徑表示式,主要是對xml文件中的節點進行搜尋,通過xpath表示式可以對xml文件中的節點位置進行快速定位和訪問,html也是也是一種類似於xml的標記語言,但是語法沒有那麼嚴謹,在codeplex裡有乙個開源專案htmlagilitypack,提供了用xpath解析html檔...