java - 无法使用 JSoup 获取页面的完整内容

标签 java html jsoup

我正在尝试使用 JSOUP 从以下页面获取内容:

http://www.etronics.com/appliances/cooking.html#!/limit=all

我使用 Jsoup 请求页面如下:

Jsoup.connect(url).userAgent(USER_AGENT).timeout(timeoutInMs).data("limit","all").get().outerHtml();

哪里

USER_AGENT = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36";

我希望得到一个包含 990 个产品的页面,但我只得到 384 个。 我想要的是像在浏览器中一样拥有页面内容。

如上所述here这可能是由 JSoup 不执行 javascript 引起的,但我不确定这是我的问题的原因,或者至少我不知道如何检查。

如何获取通过页面 View 源可见的每个元素?

最佳答案

尝试在 htmlunit 中加载您的网页,它确实执行 javascript(您可以在他们的文档中阅读有关如何执行此操作的信息) - 它允许您访问网页 DOM。

您还可以在查看页面时启动浏览器中的开发人员工具,看看它发出了多少个 http 请求以及在哪里发出的 - 如果它在单独的请求中加载额外的产品,那么肯定会涉及一些脚本。

关于java - 无法使用 JSoup 获取页面的完整内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22309674/

相关文章:

java - 通过 maven-antrun-plugin 使用 antcontrib <if> 任务

html - 如何使用 SASS 在各种屏幕宽度上更改 Bootstrap 4 标题字体大小?

c# - 以编程方式添加 span 标记,而不是 Label 控件?

java - Jsoup 仅选择带有其他元素的 div 中的文本

java - Jsoup 抓取图像 url 结果数据为 :image/gif;base64,

java - 如何从 Java 设置环境变量?

java - 从 Windows 中的 Eclipse 中运行 MapReduce 作业时出错

Java - Spintax,我该怎么办?

javascript - 在圆环图中显示多个数据信息

java - 使用 Jsoup 从页面中提取信息