【问题标题】:How to only get a part of a HTML page?如何只获取 HTML 页面的一部分?
【发布时间】:2011-08-27 11:11:04
【问题描述】:

从 Apache 和 Java 的 HttpClient4 请求中挑选出一部分 Html 页面的最佳方法是什么?具体来说,我需要一个表格(它的内容)。
解释、示例或链接会很棒。

【问题讨论】:

    标签: java html web-scraping html-table apache-httpclient-4.x


    【解决方案1】:

    你可以做的是从响应中创建一个 DOM 对象,因为它应该是一个有效的文档。

    做类似的事情

    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    DocumentBuilder builder = factory.newDocumentBuilder();
    Document document = builder.parse(/* your input stream from response */);
    Element tableElement = document.getElementById("the-table-id");
    

    【讨论】:

      【解决方案2】:

      Adrian Rodriguez 的方法还不错,但不幸的是,它只有在 HTML 是 XHTML(即有效格式的 XML)时才有效。您可以使用名为 Web Harvest 的库(可在 sourceforge.net 上获得)来抓取页面并以声明方式提取表格,而不是编写代码来执行此操作。它还包括构建脚本中的阶段,用于根据需要清理页面。我强烈建议您使用它,因为它是您想要的更强大的解决方案,特别是如果您将来需要抓取其他页面。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-08
        • 2010-09-18
        • 1970-01-01
        • 1970-01-01
        • 2013-07-07
        相关资源
        最近更新 更多