2009-05-27 44 views
0

這是我的問題。從HTML頁面提取某些信息的最佳方法是哪種。 我目前做的是以下幾點:需要建議:在C中解析HTML的最佳方法#

  1. 使用Web客戶端

  2. 下載頁面中使用了UTF8Encoding

  3. 接收到的數據轉換爲字符串,將字符串以XML

  4. 使用來自.NET Framework的Xml相關類提取所需數據

這就是我目前所做的總結形式。任何人知道另一種方法?有些東西可以更快或更輕鬆?

最好的問候, 基里爾·

PS:我聽說過所謂的Watin

一個測試框架,可以讓你做同樣的事情,但還沒有研究它更

+0

嘗試使用谷歌搜刮不解析 – inspite 2009-05-27 14:40:37

+0

這是一個類似的問題很多很多.. – VVS 2009-05-27 14:41:35

回答

0

除非你是使用完美形成的XHTML正則表達式將更適合解析html?

Watin允許您通過IE在網頁上編寫按鈕點擊,腳本調用等腳本(可以使用其他瀏覽器不確定?)。我不認爲這會完成你正在尋找的東西。

+0

正則表達式不能很好地對付格式錯誤的HTML。 – 2009-05-27 14:42:15

5

這聽起來像你已經想出瞭如何獲取頁面數據(這是最簡單的部分)。

其餘的,我用於此類任務的最佳託管庫是HTML Agility Pack。它是開源的,非常成熟,完全用.NET編寫。它處理畸形的HTML和可以做你兩種不同的方式所需要的:

  • 本身支持XPath和類似XML的查詢對HTML DOM。它的目的是模仿.NET的XML庫,所以任何你可以用.NET來對付XML的東西,你可以用這個來對付HTML。

  • 支持從HTML生成有效的XML,因此您可以使用任何XML工具。

0

這可以通過使用WebClient.DownloadString方法,我相信稍作簡化,。

有關解析的詳細信息,請參閱其他解答,因爲我還沒有試過HTML敏捷性套件。