2009-05-27 43 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敏捷性套件。