下载网页信息的有效方法

时间:2012-07-18 20:52:50

标签: c# html-agility-pack

在您停止阅读并建议HTML Agility(基于标题)之前,我已经在使用此工具了。问题是这样的:我有一个网页列出了一大堆案例编号,并且链接到个案编号页面。我的应用已下载此信息并将其显示在datagridview中。但是在我的应用程序中,我还需要来自各个案例编号页面(链接)的信息。

问题是我已经知道使用HTML敏捷性需要花费很长时间。要获取案例页面,大约需要2分钟。代码明智我正在为HTML代码提供HTML敏捷性,将单元格值添加到数组并解析出我在网格中显示的数组索引。这是对页面上组件数量的非常大的数组解析。

从链接页面获取主页面和特定单元格的任何想法?

1 个答案:

答案 0 :(得分:1)

显示如何在HmtlAgility中使用XPath的示例

  

HtmlDocument doc = new HtmlDocument(); doc.LoadHtml(yourHtml);

     

示例1: //下面的示例将获取所有div作为容器foreach的类(HtmlNode节点)   doc.DocumentNode.SelectNodes(“// div [@ class ='container']”)){
  Console.Writeline(node.InnerText); }

     

示例2: //以下示例将获得第一个div,其中class为容器HtmlNode节点   doc.DocumentNode.SelectNodes( “// DIV [@类= '容器'] [1]”))

     

Console.Writeline(node.InnerText);

您可以使用Xpath查询来获取所需的元素

对于XPath语法等,请使用链接http://www.w3schools.com/xpath/xpath_syntax.asp