【发布时间】:2011-08-27 11:11:04
【问题描述】:
从 Apache 和 Java 的 HttpClient4 请求中挑选出一部分 Html 页面的最佳方法是什么?具体来说,我需要一个表格(它的内容)。
解释、示例或链接会很棒。
【问题讨论】:
标签: java html web-scraping html-table apache-httpclient-4.x
从 Apache 和 Java 的 HttpClient4 请求中挑选出一部分 Html 页面的最佳方法是什么?具体来说,我需要一个表格(它的内容)。
解释、示例或链接会很棒。
【问题讨论】:
标签: java html web-scraping html-table apache-httpclient-4.x
你可以做的是从响应中创建一个 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");
【讨论】:
Adrian Rodriguez 的方法还不错,但不幸的是,它只有在 HTML 是 XHTML(即有效格式的 XML)时才有效。您可以使用名为 Web Harvest 的库(可在 sourceforge.net 上获得)来抓取页面并以声明方式提取表格,而不是编写代码来执行此操作。它还包括构建脚本中的阶段,用于根据需要清理页面。我强烈建议您使用它,因为它是您想要的更强大的解决方案,特别是如果您将来需要抓取其他页面。
【讨论】: