【问题标题】:html content extraction using htmlunit使用 htmlunit 提取 html 内容
【发布时间】:2011-07-08 15:20:45
【问题描述】:

我有一系列结构相同的 HTML 文件。

让我们来看看这个示例代码。

>     <html>
>     <head>
>     <title>main page</title>
>     </head>
>     <body>
>     <table><tr>
>     <td>content1</td>
>     </tr></table>
>     </body>
>     </html>

我想提取title标签内容和td标签内容。 如何使用 htmlunit 做到这一点? 我是 htmlunit 的新手。请帮帮我。

【问题讨论】:

  • 请先阅读文档,然后就您可能遇到的具体问题提出任何问题。
  • 请说明您是要测试(这是 HTMLUnit 的帮助)还是只是提取。

标签: java extract htmlunit


【解决方案1】:

从 HTMLUnit 页面查看instructive snippet。

在那里,您首先构建一个客户端,然后检索您的页面,最后询问标题文本 (page.getTitleText()),或者将整个页面作为 HTML 字符串 (page.asXml())。然后你可以在那个字符串上assertContains。

还有很多其他选项,例如通过 id 检索元素。 最好自己查看示例。

【讨论】:

    【解决方案2】:

    htmlunit 是一个测试系统。不是 DOM 解析器。

    要将 HTML 解析为 DOM,请使用 http://about.validator.nu/htmlparser/ 并使用 HtmlDocumentBuilder 类。

    拥有Document 后,您可以使用myDocument.getElementsByTagName("title") 来查找标题元素。

    【讨论】:

    • 公平地说,您可以将 HTMLUnit 用作网络爬虫。我已经看过很多次了。
    • @Joel Halbert,很公平。但在这种情况下,您使用 HTMLUnit 来获取和处理内容。 HTMLUnit 不使用 NekoHTML 进行解析吗?如果是这样,我仍然会说不要使用 HTMLUnit,因为它是一个(测试或抓取)框架,如果您已经拥有内容,请使用 HTML 解析器,如(nu.validator 或 tagoup 或 neko)。
    猜你喜欢
    • 2014-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-24
    • 2015-01-04
    • 2012-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多