我想使用这个类
https://code.google.com/p/ext-c/source/browse/trunk/src/nz/ac/vuw/ecs/kcassell/similarity/GoogleDistanceCalculator.java这是我的代码(我的目标是计算我所有标签之间的成对Google距离)
public static void main(String args[]) throws FileNotFoundException {
Scanner s = new java.util.Scanner(new File (yyy));
try {
GoogleDistanceCalculator googleDistanceCalculator =
new GoogleDistanceCalculator();
ArrayList<String> Alltags = new ArrayList<String>();
while (s.hasNext()) {
Alltags.add(s.next());
}
ArrayList<Double> arraysNGD = new ArrayList<Double>();
for (int i = 0; i < Alltags.size(); i++) {
for (int j = 0; j < Alltags.size(); j++) {
if (j!=i)
arraysNGD.add(
googleDistanceCalculator.calculateDistance(
Alltags.get(i).trim(), Alltags.get(j).trim()));
}
}
} catch (NumberFormatException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
错误org.json.JSONException: JSONObject["responseData"] is not a JSONObject.
at org.json.JSONObject.getJSONObject(JSONObject.java:508)
at nz.ac.vuw.ecs.kcassell.similarity.GoogleDistanceCalculator.getCountFromGoogleQuery(GoogleDistanceCalculator.java:196)
at nz.ac.vuw.ecs.kcassell.similarity.GoogleDistanceCalculator.getCountFromQuery(GoogleDistanceCalculator.java:173)
at nz.ac.vuw.ecs.kcassell.similarity.GoogleDistanceCalculator.numResultsFromWeb(GoogleDistanceCalculator.java:150)
at nz.ac.vuw.ecs.kcassell.similarity.GoogleDistanceCalculator.calculateDistance(GoogleDistanceCalculator.java:262)
at test.Zssai.main(Zssai.java:55)
注
当我尝试例如
googleDistanceCalculator.calculateDistance("forest","plant");
运行正常,没有错误
编辑
nature sky
org.json.JSONException: JSONObject["responseData"] is not a JSONObject.
at org.json.JSONObject.getJSONObject(JSONObject.java:508)
at nz.ac.vuw.ecs.kcassell.similarity.GoogleDistanceCalculator.getCountFromGoogleQuery(GoogleDistanceCalculator.java:196)
at nz.ac.vuw.ecs.kcassell.similarity.GoogleDistanceCalculator.getCountFromQuery(GoogleDistanceCalculator.java:173)
at nz.ac.vuw.ecs.kcassell.similarity.GoogleDistanceCalculator.numResultsFromWeb(GoogleDistanceCalculator.java:150)
at nz.ac.vuw.ecs.kcassell.similarity.GoogleDistanceCalculator.calculateDistance(GoogleDistanceCalculator.java:262)
at test.Zssai.main(Zssai.java:51)
nature blue
org.json.JSONException: JSONObject["responseData"] is not a JSONObject.
at org.json.JSONObject.getJSONObject(JSONObject.java:508)
at nz.ac.vuw.ecs.kcassell.similarity.GoogleDistanceCalculator.getCountFromGoogleQuery(GoogleDistanceCalculator.java:196)
at nz.ac.vuw.ecs.kcassell.similarity.GoogleDistanceCalculator.getCountFromQuery(GoogleDistanceCalculator.java:173)
at nz.ac.vuw.ecs.kcassell.similarity.GoogleDistanceCalculator.numResultsFromWeb(GoogleDistanceCalculator.java:150)
at nz.ac.vuw.ecs.kcassell.similarity.GoogleDistanceCalculator.calculateDistance(GoogleDistanceCalculator.java:262)
at test.Zssai.main(Zssai.java:51)
nature water
org.json.JSONException: JSONObject["responseData"] is not a JSONObject.
at org.json.JSONObject.getJSONObject(JSONObject.java:508)
at nz.ac.vuw.ecs.kcassell.similarity.GoogleDistanceCalculator.getCountFromGoogleQuery(GoogleDistanceCalculator.java:196)
at nz.ac.vuw.ecs.kcassell.similarity.GoogleDistanceCalculator.getCountFromQuery(GoogleDistanceCalculator.java:173)
at nz.ac.vuw.ecs.kcassell.similarity.GoogleDistanceCalculator.numResultsFromWeb(GoogleDistanceCalculator.java:150)
at nz.ac.vuw.ecs.kcassell.similarity.GoogleDistanceCalculator.calculateDistance(GoogleDistanceCalculator.java:262)
at test.Zssai.main(Zssai.java:51)
nature clouds
问题是
雅虎老板不自由
和Google搜索API被废弃了所以它只允许有限数量的查询当我超过这个数时,我得到错误
org.json.JSONException: JSONObject["responseData"] is not a JSONObject.
所以为了解决这个问题,我应该使用其他搜索引擎API
这个API可能有用
http://www.sindice.com/