【发布时间】: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