我用Jsoup取消了网站:
doc = Jsoup.connect(String.valueOf(urls[0])).userAgent("Mozilla").get(); 以下是链接:
loc=willowbrook%2C+IL&ns=1#l=p:IL:Willowbrook::&sortby=rating&rpp=40
我在命令行的链接中添加了rpp=40参数,以显示每页40个结果。我能够在页面查看源中看到所有的结果。我知道Jsoup只用于静态内容,不能获取使用AJAX/JS库技术生成内容的网站。但是,为什么Jsoup不能通过页面查看源检索我在浏览器中看到的相同内容呢?页面查看源代码显示40个结果,而Jsoup只能从10个结果中检索元素?如何通过页面查看源获取所有可见的元素。
发布于 2013-02-16 20:11:23
简短的答案J汤无法执行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。在普通浏览器中,它接受参数并加载页面。但是没有和willowbrook一起检查(在您的示例中)。它在加载页面后加载JS,Javascript会为Fliters做复选框,为serach结果。因此,当您使用Jsoup时,您将得到更多的结果,因为它加载'state=IL‘而没有过滤'willowbrook’。
https://stackoverflow.com/questions/14914498
复制相似问题