java - 谷歌网站和谷歌API之间的不同答案

标签 java android google-api

我正在尝试编写 JAVA 代码以从谷歌获取答案。 我编写的代码仅适用于英文,但当我尝试添加一些希伯来语字符时,得到的答案与我在 Google 网站上编写时得到的答案不同。
这是代码:

String address = "https://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=";
String charset = "UTF-8";
URL url;

try 
{
    url = new URL(address + URLEncoder.encode(artistAndSong + site, charset));
          //The url seems right, and it's the same as the url that appear on the web
    Reader reader = new InputStreamReader(url.openStream(), charset);
    GoogleResults results = new Gson().fromJson(reader, GoogleResults.class);
    res =(results.getResponseData().getResults().get(0).getUrl());
          //This is the part where I see that the answers are not the same
}

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 + "]"; }
}
}

有人有想法吗?我已经尝试了几天来解决这个问题...(另外,我尝试使用 unicode,但它似乎并没有解决它...)
谢谢!

最佳答案

Google 答案是根据您之前的搜索进行个性化设置的。尝试在使用您的帐户登录时和未登录时搜索相同的内容(例如,如果您使用的是 Chrome,请尝试使用隐身窗口),结果应该会有所不同。

我想这就是发生在你身上的事情。

您的代码中没有任何明显的缺陷。

关于java - 谷歌网站和谷歌API之间的不同答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17093301/

相关文章:

android - "android.net.conn.CONNECTIVITY_CHANGE"在Android 7.0及以上版本对应的 Action 是什么?

android - Mapbox 示例 map 不适用于 Android Studio/Genymotion

api - YouTube channel 喜欢和不喜欢

java - 带有 angularJs 的 Spring

java - 服务器发送的事件在传入 React 时会成倍增加

android - 什么是android中的WindowManager?

android - 如何在Android中使用Internet获取MyLocation?

android - Google APIs - Android BigQuery 客户端的应用级授权

java - Java 中 Web 服务的安全性

java - 如何在jmeter中使用java类?