【发布时间】:2013-06-18 13:50:25
【问题描述】:
我被要求写一个倒排索引,所以我想作为一个开始写一个java程序,谷歌搜索一个单词并将结果放入一个数组列表中。
这是我的代码:
String search = "Dan";
String google = "http://www.google.com/cse/publicurl?cx=012216303403008813404:kcqyeryhhm8&q=" + search;
URL url = new URL(google);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Accept", "application/json");
BufferedReader reader = new BufferedReader(new InputStreamReader(
(conn.getInputStream())));
// Gather the results to a String array
List<String> resultsList = new ArrayList<String>();
String r;
while ((r = reader.readLine()) != null)
resultsList.add(r);
conn.disconnect();
System.out.println("Google Search for: " + search + " Is Done!");
程序运行没有中间崩溃,但我只得到一个页面的源代码(不包含任何链接)。
我需要在代码中进行哪些更改?也许我需要一种完全不同的方法?
【问题讨论】:
-
关于在 Java 程序中从何处搜索的任何其他建议,@AndrewThompson?
-
我怀疑您最终希望(或应该)使用爬虫来爬取您的网页并建立索引,而不是进行谷歌搜索。一个支持编写爬虫的库是 Crawler4J。此外,仅仅复制谷歌倒排索引似乎并不是一个好方法。对于测试,您可以从不使用爬虫索引单个网页开始。
标签: java google-search google-search-api inverted-index