我必须做一个java项目。
使用Google API获取搜索结果。
我找到了这个链接:http://www.programcreek.com/2012/05/call-google-search-api-in-java-program/,但这个程序只返回4个链接,我需要更多的链接。
在这篇文章的末尾,他们说:“这不是一个bug,它被设计成这样的。我们能做的就是在url‘start=#’中添加一个参数。如果这个数字是4,我们就会得到5-8个结果,如果这个数字是100,我们就会得到101-104个结果,以此类推。”
我不明白如何修改代码才能返回4个以上的结果?
发布于 2013-05-02 06:05:29
根据进一步的研究,一次调用不能获得超过4个结果。您必须在URL中设置start参数,并多次查询。
Google AJAX API - How do I get more than 4 Results?
看,这很简单,只要这样做(从你的链接代码开始):
public static void main(String[] args) throws IOException {
List<Result> listResults = new ArrayList<Result>();
for(int i = 0; i < 10; i++) {
String address = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&start=" + i * 4 + "&q=";
String query = "java tutorial";
String charset = "UTF-8";
URL url = new URL(address + URLEncoder.encode(query, charset));
Reader reader = new InputStreamReader(url.openStream(), charset);
GoogleResults results = new Gson().fromJson(reader, GoogleResults.class);
listResults.addAll(results.getResponseData.getResults());
}https://stackoverflow.com/questions/16327153
复制相似问题