Android 如何使用Jsoup从Google获取#resultStats
我正在努力获取谷歌向我们展示的文章数量: 是对杰布·布什·巴拉克·奥巴马(jeb bush barack obama)的谷歌搜索,它显示了我需要的数字,即10200000篇文章 如何使用Jsoup及其任何组件获取该数字 我试过:Android 如何使用Jsoup从Google获取#resultStats,android,android-studio,jsoup,Android,Android Studio,Jsoup,我正在努力获取谷歌向我们展示的文章数量: 是对杰布·布什·巴拉克·奥巴马(jeb bush barack obama)的谷歌搜索,它显示了我需要的数字,即10200000篇文章 如何使用Jsoup及其任何组件获取该数字 我试过: documentdocument=Jsoup.connect(url.get(); 元素描述=文档。选择(“div#resultStats”); desc=description.attr(“内容”) 注意:我使用的是Android Studio,我想将结果保存到矩阵中
documentdocument=Jsoup.connect(url.get();
元素描述=文档。选择(“div#resultStats”);
desc=description.attr(“内容”)代码>
注意:我使用的是Android Studio,我想将结果保存到矩阵中
编辑:是我看到的关于HTML源代码的文章数量。实际上,您可能会得到一些优化的javascript代码(适用于现代浏览器),需要运行这些代码才能查看实际结果统计数据。相反,请更改用户代理字符串(对于最旧的浏览器UA字符串)和url,如以下代码所示:
演示
示例代码
输出(截至本文撰写时…)
在Jsoup 1.8.3上测试
更多UA字符串:实际上,您可能会得到一些优化的javascript代码(用于现代浏览器),需要运行这些代码才能查看实际结果统计数据。相反,请更改用户代理字符串(对于最旧的浏览器UA字符串)和url,如以下代码所示:
演示
示例代码
输出(截至本文撰写时…)
在Jsoup 1.8.3上测试
更多UA字符串:下载的文档没有resultStats(至少在测试中是这样)。试着使用:试着使用desc=description.text()@Jared,谷歌搜索API已经不存在了,所以这不会起作用。虽然不推荐使用,但仍然有效。不过,看起来“结果状态”有所不同:\@JaredRummler没有,因为文档包含一些负责构建最终HTML代码的Javascript。下载的文档没有resultStats(至少在测试中是这样)。试着使用:试着使用desc=description.text()@Jared,谷歌搜索API已经不存在了,所以这不会起作用。虽然不推荐使用,但仍然有效。不过,看起来“结果状态”有所不同:\@Jaredrummer没有,因为文档包含一些负责构建最终HTML代码的Javascript。
String url = "https://www.google.com/search?q=jeb+bush+barack+obama";
Document document = Jsoup //
.connect(url) //
.userAgent("Mozilla/5.0 (Windows; U; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)") //
.get();
Element divResultStats = document.select("div#resultStats").first();
if (divResultStats==null) {
throw new RuntimeException("Unable to find results stats.");
}
System.out.println(divResultStats.text());
About 10,500,000 results