0

我必须做一个
使用 Google API 搜索结果的 java 项目。

我找到了这个链接: http: //www.programcreek.com/2012/05/call-google-search-api-in-java-program/ 但是这个程序只返回 4 个链接,我需要更多。

在这篇文章的最后他们说:“这不是一个错误,它就是这样设计的。我们可以做的是在 url 中添加一个参数“start=#”。如果这个数字是 4,我们有 5-8 个结果,如果数字是 100,我们有 101-104 个结果,以此类推。”

我不明白如何修改代码,这样可以返回超过 4 个结果?

4

1 回答 1

1

经过进一步研究,一次调用不能获得超过 4 个结果。您必须start在 URL 中设置参数并多次查询。

Google AJAX API - 我如何获得超过 4 个结果?

看,这很简单,只需执行此操作(使用您的链接代码):

  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());
    }
于 2013-05-01T22:05:28.807 回答