这是我的问题。哪种方法是从HTML页面中提取某些信息的最佳方式。 我目前做的是以下内容:
使用WebClient
使用UTF8Encoding
将字符串转换为XML
使用.NET Framework中的Xml相关类提取所需数据
这是我目前以概括的形式做的事情。谁知道另一种方法?什么可以更快或更容易?
最诚挚的问候, 基里尔
PS:我听说过一个名为Watin
的测试框架允许你做类似的事情,但没有多研究
答案 0 :(得分:5)
听起来你已经弄明白了如何获取页面数据(这是最简单的部分)。
对于其他人,我用于此类任务的最佳托管库是HTML Agility Pack。它是开源的,非常成熟,完全用.NET编写。它处理格式错误的HTML,可以通过两种不同的方式完成您的需求:
本机支持对HTML DOM进行XPATH和类似XML的查询。它旨在模仿.NET的XML库,因此您可以使用.NET对XML进行任何操作,您可以使用它来对付HTML。
支持从HTML生成有效的XML,因此您可以使用任何XML工具。
答案 1 :(得分:2)
对于您的解析需求,我建议使用HTML Agility Pack。
要实际检索HTML,请使用WebRequest类
答案 2 :(得分:0)
除非你正在使用完美形成的XHTML正则表达式将更适合解析html?
Watin允许您通过IE在网页上编写按钮点击,脚本调用等脚本(它可以使用其他浏览器不确定吗?)。我不认为这会实现你想要的。
答案 3 :(得分:0)
通过使用我相信的WebClient.DownloadString方法,可以稍微简化一下。
有关解析的详细信息,请参阅其他答案,因为我还没有尝试过HTML Agility Pack。