C 對HTML文件的解析

2021-06-21 06:41:12 字數 2136 閱讀 2626

相信很多人都有過html文件解析的需求。比如我們抓取了某1個**的頁面資料,格式就是html的格式。以前我們都是通過正規表示式來進行解析,但是發現有一些問題。解析html文件時並不容易,如果文件的格式稍有變化很可能就不能正確的匹配。因此我們需要專門的工具來幫助我們輕鬆的解析html文件。

其實已經有乙個非常不錯的工具提供了。比如htmlagilitypack。它可以幫助我們解析html文件就像用xmldocument類來解析xml一樣輕鬆、方便。

這個工具可以在

好了,下面提供乙個足夠******的例子給大家。大家可以在此基礎之上,舉一反三。

比如要解析下面的html。

[html]view plain

copy

<

table

>

<

thead

>

<

tr>

<

th>

時間th

>

<

th>

型別th

>

<

th>

名稱th

>

<

th>

單位th

>

<

th>

金額th

>

tr>

thead

>

<

tbody

>

<

tr>

<

td>

2013-12-29

td>

<

td>

發票1td

>

<

td>

採購物資發票1

td>

<

td>

某某公司1

td>

<

td>

123元

td>

tr>

<

tr>

<

td>

2013-12-29

td>

<

td>

發票2td

>

<

td>

採購物資發票2

td>

<

td>

某某公司2

td>

<

td>

321元

td>

tr>

<

tbody

>

table

>

以控制台專案為例,首先要引用htmlagilitypack.dll檔案,這樣才能使用dll裡面的類和方法。

[csharp]view plain

copy

static

void

main(

string

args)  

, stringsplitoptions.removeemptyentries);  

//如果符合條件,就載入到物件列表裡面

if(line.length == 5)  

datas.add(new

data() );  

}  //迴圈輸出檢視結果是否正確

foreach

(var v 

indatas)  

}[csharp]view plain

copy

/// 

/// 定義的實體類用於接收資料

/// 

public

class

data  

public

string

型別   

public

string

名稱   

public

string

單位   

public

string

金額   

}  

上面就是完整的**,注釋也很清楚。

最後看一下解析的結果:

vbs 解析 html 文件

關於vbs採集,網上流行比較多的方法都是正則,其實 htmlfile 可以解析 html 但如果 designmode 沒開啟的話,有時候會包安全提示資訊。但是開啟 designmode 預言家晚報 分享的方法 的話,所有js都不會被執行,只是乾乾淨淨的dom文件,所以在逼不得已的情況下開啟 des...

vbs 解析 html 文件

關於vbs採集,網上流行比較多的方法都是正則,其實 htmlfile 可以解析 html 但如果 designmode 沒開啟的話,有時候會包安全提示資訊。但是開啟 designmode 預言家晚報 分享的方法 的話,所有js都不會被執行,只是乾乾淨淨的dom文件,所以在逼不得已的情況下開啟 des...

使用 XPath 解析 HTML 文件

原文 使用xpath解析html文件 xpath 的全稱是 xml path language,即 xml 路徑語言,它是一種在結構化文件 比如 xml 和 html 文件 中定位資訊的語言,關於 xpath 的介紹可以參考 後面我們將以下面的 html 文件介紹 xpath 的使用。下表是 xpa...