【问题标题】:Google Custom Search Engine Java outputGoogle 自定义搜索引擎 Java 输出
【发布时间】:2015-02-04 22:18:45
【问题描述】:

我运行这个程序很好:

package cse;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class cse {

public static void main(String[] args) throws Exception {
    String key = "My API KEY";
    String qry = "Test";
    if(qry.contains(" ")) {
        qry = qry.replace(' ', '+');
        System.out.println("here");
        System.out.println(qry);
    }
    URL url = new URL("https://www.googleapis.com/customsearch/v1?key="+key+ "&cx=MY_CUSTOM SEARCH&q="+qry+"&alt=json");
    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    conn.setRequestMethod("GET");
    conn.setRequestProperty("Accept", "application/json");
    BufferedReader br = new BufferedReader(new InputStreamReader(
            (conn.getInputStream())));

    String output;
    System.out.println("Output from Server .... \n");

    while ((output = br.readLine()) != null) {
        if(output.contains("\"link\": \"")) {                
            String link = output.substring(output.indexOf("\"link\": \"")+("\"link\": \"").length(), output.indexOf("\","));
            System.out.println(link);       //Will print the google search links
        }     
    }
    conn.disconnect();                              
}

}

现在我想做的是让它只返回一个结果,并将这个结果添加到一个字符串数组中。我什至可以抓住第一个结果并将其放在那里,如果这样更容易的话,但我只是不确定如何去做。

所以基本上,如果我搜索相同的查询 3 次,数组将由 [http://www.speedtest.net/,http://www.speedtest.net/,http://www.speedtest.net/] 组成

提前感谢您的任何帮助,我们将不胜感激!

【问题讨论】:

  • 你的问题到底是什么?
  • 我不确定如何解析输出,以便我只收到一个结果,然后将所述结果传递到数组中。所以测试的第一个结果是 www.speedtest.net 我想存储这个值并忽略输出的其余部分

标签: java arrays google-custom-search


【解决方案1】:

如果要对数据进行排序(升序或降序),请使用查询。该表没有任何顺序。即使是字段也没有任何相关的顺序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-28
    • 2020-02-14
    • 1970-01-01
    • 2012-10-07
    • 1970-01-01
    相关资源
    最近更新 更多