如何只获取HTML页面的一部分?

发布于 2024-11-08 11:31:13 字数 107 浏览 0 评论 0原文

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

What would be the best way to single out a part of an Html page which I obtained with a request by HttpClient4 from Apache and Java? Specifically I need a Table (it's contents).
Explanation, Example or Link would be great.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

っ〆星空下的拥抱 2024-11-15 11:31:13

您可以做的是从响应中创建一个 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");

What you could do is create a DOM object out of the response since it should be a valid document.

Do something like

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(/* your input stream from response */);
Element tableElement = document.getElementById("the-table-id");
自由如风 2024-11-15 11:31:13

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

Adrian Rodriguez' way isn't bad, but unfortunately it'll only work if the HTML is XHTML (ie validly formatted XML). You can use a library called Web Harvest (available on sourceforge.net) to scrape the page and extract the table declaratively rather than writing code to do it. It also includes phases in the build script for sanitizing the page as needed. I'd strongly recommend using that as it'd be a much more robust solution for what you want, especially if you're going to be needing to scrape other pages in the future.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文