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

时间:2014-03-10 19:38:42

标签: 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引起的,但我也不确定这是我的问题的原因,或者至少我不知道如何检查。

如何通过页面查看源获取可见的所有元素?

1 个答案:

答案 0 :(得分:0)

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

您还可以在查看页面时启动浏览器中的开发人员工具,查看它发出的http请求数量和位置 - 如果在单独的请求中加载额外的产品,则肯定会涉及到一些脚本。