gpt4 book ai didi

java - 使用 Java 搜索 Google 结果而不是仅搜索 URL

转载 作者:行者123 更新时间:2023-12-01 14:43:21 25 4
gpt4 key购买 nike

我正在开发java应用程序,我需要来自Google的结果。所以我使用了本页第一个答案 search Google Programmatically Java API 中给出的帮助

从成功运行这个程序后,我得到了得到结果的 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 + "]"; }
}

}

最佳答案

如果您粘贴 search URL在浏览器中,您可以看到 JSON 结果的格式。您的 GoogleResult 类将此 JSON 中的属性映射到此类中的属性。要从搜索结果中提取更多信息,您只需将适当的属性添加到您的类中,它应该由 JSON 解析器处理,将 JSON 结果转换为您的 GoogleResult 类。因此,如果 JSON 结果中的 content 是您正在寻找的“解释”,您的 Result 类将如下所示:

static class Result {
private String url;
private String title;
private String content;
public String getUrl() { return url; }
public String getTitle() { return title; }
public String getContent() {return content; }
public void setUrl(String url) { this.url = url; }
public void setTitle(String title) { this.title = title; }
public void setContent(String content) { this.content = content; }
public String toString() { return "Result[url:" + url +",title:" + title + ",content:" + content + "]"; }
}

然后您可以使用result.getContent()来获取搜索结果的描述。您可以使用相同的过程从 JSON 结果中提取所需的任何数据。

关于java - 使用 Java 搜索 Google 结果而不是仅搜索 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15720009/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com