如何只获取HTML页面的一部分?
挑选出我通过 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以做的是从响应中创建一个 DOM 对象,因为它应该是一个有效的文档。
做类似的事情
What you could do is create a DOM object out of the response since it should be a valid document.
Do something like
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.