我正在尝试使用 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/