0

我想使用这个类

https://code.google.com/p/ext-c/source/browse/trunk/src/nz/ac/vuw/ecs/kcassell/similarity/GoogleDistanceCalculator.java

这是我的代码(我的目标是计算我所有标签之间的成对谷歌距离)

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
4

1 回答 1

0

问题是

雅虎老板不是免费的

并且 Google 搜索 API 已弃用,因此当我超过此数量时它只允许有限数量的查询我收到错误

    org.json.JSONException: JSONObject["responseData"] is not a JSONObject.

所以要解决这个问题我应该使用其他搜索引擎 API

这个 API 可能有用

   http://www.sindice.com/
于 2013-04-20T16:18:20.573 回答