我正在研究需要Google的結果的Java應用程序。所以我用這個頁面上的第一個答案給出的幫助search Google Programmatically Java API僅使用Java搜索Google結果而不使用URL
從成功運行這個程序我得到URL的地方,我得到了我的結果這沒關係。
但我需要解釋搜索的查詢,而不是URL的。
那麼如何從搜索到的查詢中得到結果答案,任何幫助表示讚賞。
Answer.java是
public static void main(String[] args) throws Exception {
String google = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=";
String search = "stackoverflow";
String charset = "UTF-8";
URL url = new URL(google + URLEncoder.encode(search, charset));
Reader reader = new InputStreamReader(url.openStream(), charset);
GoogleResults results = new Gson().fromJson(reader, GoogleResults.class);
// Show title and URL of 1st result.
System.out.println(results.getResponseData().getResults().get(0).getTitle());
System.out.println(results.getResponseData().getResults().get(0).getUrl());
}
GoogleResults.java是
public class GoogleResults {
private ResponseData responseData;
public ResponseData getResponseData() { return responseData; }
public void setResponseData(ResponseData responseData) { this.responseData = responseData; }
public String toString() { return "ResponseData[" + responseData + "]"; }
static class ResponseData {
private List<Result> results;
public List<Result> getResults() { return results; }
public void setResults(List<Result> results) { this.results = results; }
public String toString() { return "Results[" + results + "]"; }
}
static class Result {
private String url;
private String title;
public String getUrl() { return url; }
public String getTitle() { return title; }
public void setUrl(String url) { this.url = url; }
public void setTitle(String title) { this.title = title; }
public String toString() { return "Result[url:" + url +",title:" + title + "]"; }
}
}
你可以發表一些代碼,說明你迄今爲止做了什麼嗎? – austin
你能舉一個真實查詢的例子嗎? – NilsH
@NilsH如圖所示Answer.java第三行我的查詢是「stackoverflow」我需要解釋駐留在網頁中,而不是僅當前提供的url。 – Aniket