-1

我想通过使用 HTML Agility Pack 解析 HTML 文件来获取一级元素,例如结果将是这样的:

<html>
  <body>

     <div class="header">....</div>
     <div class="main">.....</div>
     <div class="right">...</div>
     <div class="left">....</div>
     <div class="footer">...</div>

   </body>
</html>

每个都包含其他标签...我想提取网站中存在的所有文本,但分开。例如右侧分开,左侧分开,页脚等等......

谁能帮我?

谢谢...

4

1 回答 1

0

使用 HtmlAgilityPack 从给定的 URL 加载网页,然后通过选择正确的相应标签对其进行解析。

HtmlWeb page = new HtmlWeb();
HtmlDocument doc = new HtmlDocument();
docc = page.Load("http://www.google.com");

如果您想选择一个div具有类名“ header”的特定对象,您可以使用DocumentNode文档对象的属性来实现。

string mainText = doc.DocumentNode.SelectSingleNode("//div[@class=\"main\"]").InnerText;

尽管您的 HTML 中可能有几个标签是“主”类的成员,因此您必须选择所有标签然后遍历集合,或者在选择单个节点时更精确。

要获得所有标签的集合表示,即在类“ main”中,请改用该DocumentNode.SelectNodes属性。


我建议您在 SO 上查看这个问题,其中提供了一些基础知识和教程链接。

如何使用 HTML 敏捷包

于 2013-08-19T18:15:08.260 回答