我使用Jsoup废弃网站:
doc = Jsoup.connect(String.valueOf(urls[0])).userAgent("Mozilla").get();
这是链接:
我已将 rpp = 40 参数添加到命令行中的链接,以显示每页40个结果。我能够在页面查看源中看到所有结果。 我知道Jsoup仅用于静态内容,无法获取使用AJAX / JS库技术生成内容的网站。但是为什么Jsoup无法通过页面查看源检索我在浏览器中看到的相同内容?页面视图源显示40个结果,而Jsoup只能从10个结果中检索元素?如何通过页面查看源获取可见的每个元素。
答案 0 :(得分:1)
简短回答 Jsoup无法执行Javascript。
答案很长
http://www.yelp.com/search?find_desc=restaurant&find_loc=willowbrook%2C+IL&ns=1#l=p:IL:Willowbrook::&sortby=rating&rpp=40
您正在寻找的网页接受带有参数的Http Get。在普通浏览器中,它接受参数并加载页面。但未选中willowbrook (在您的示例中)。它在加载页面后加载JS,Javascript在 Fliters 的搜索框中显示搜索结果。因此,当你使用Jsoup时,你会得到更多的结果,因为它加载'state = IL'而没有'willowbrook'被过滤。