Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Jsoup获取网站-页面视图源和Jsoup显示不同的内容_Java_Android_Jsoup - Fatal编程技术网

Java 使用Jsoup获取网站-页面视图源和Jsoup显示不同的内容

Java 使用Jsoup获取网站-页面视图源和Jsoup显示不同的内容,java,android,jsoup,Java,Android,Jsoup,我使用Jsoup废弃网站: doc = Jsoup.connect(String.valueOf(urls[0])).userAgent("Mozilla").get(); 以下是链接: 我在命令行的链接中添加了rpp=40参数,每页显示40个结果。我能够在页面视图源代码中看到所有结果。 我知道Jsoup只用于静态内容,无法获取使用AJAX/JS库技术生成内容的网站。但是,为什么Jsoup无法检索到通过页面视图源在浏览器中看到的相同内容?页面视图源代码显示40个结果,而Jsoup只能

我使用Jsoup废弃网站:

doc = Jsoup.connect(String.valueOf(urls[0])).userAgent("Mozilla").get();    
以下是链接:

我在命令行的链接中添加了rpp=40参数,每页显示40个结果。我能够在页面视图源代码中看到所有结果。
我知道Jsoup只用于静态内容,无法获取使用AJAX/JS库技术生成内容的网站。但是,为什么Jsoup无法检索到通过页面视图源在浏览器中看到的相同内容?页面视图源代码显示40个结果,而Jsoup只能从10个结果中检索元素?如何获得通过页面视图源可见的每个元素

简短回答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'。

简短回答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”。

感谢您的解释。我只在使用页面视图源代码时得到更多结果,但jsoup只显示十个结果。那么我如何执行JavaScript呢?。您得到的结果较少,可能是因为他们的应用程序逻辑不是我在回答中所说的。但是想法是,Javascript会处理数据。谢谢你的解释。我只在使用页面视图源代码时得到更多结果,但jsoup只显示十个结果。那么我如何执行JavaScript呢?。您得到的结果较少,可能是因为他们的应用程序逻辑不是我在回答中所说的。但其想法是,Javascript处理数据。