❶ 如何利用Google的Web服务(GOOGLE API)
然而,有经验的Google用户已经意识到了Google还提供了额外服务。网页缓冲就是其中一项,它可以用来检查无法访问到的过期网页以及网址。 Googel还提供一个不广为人知的功能,即拼写检查。例如,假设你在搜索中键入“web servise”,Google就会给搜索结果的同时还给出一个链接询问你是否要搜索“web service”。这三项功能(搜索、检索页面缓冲以及拼写检查)的每一项都可以通过Google的Web服务API来访问到。 连接Google为了使用Google的Web服务,你需要在Google上注册并获得一个帐号。你还需要下载开发者套件。这个套件包括一个JAR文件、文档、一个WSDL文件以及若干例子。JAR文件包括了访问Web服务的预建wrapper。下载了开发者套件后,你只需要把这个JAR文件添加到你的classpath中去。 在使用Google API之前你还需要创建一个Google帐号。创建完帐号之后,Google会为你分配一个唯一的密匙码(key code),每次调用API时都需要这个密匙码,它用于识别你的身份。Google限制一个密匙每天调用API的次数不超过一千次。 客户端的一个例子 你可以用Google API来访问我们上面提到的三种方法。我们将创建一个小的Java应用程序,它根据命令行所提供的关键字在Google上进行搜索。清单1给出了我们的Java文件。 清单1:MyGoogleSearch.java import java.net.*; import java.util.*; import org.apache.soap.*; import org.apache.soap.rpc.*; import com.google.soap.search.*; public class MyGoogleSearch { public static void main (String[] args) { GoogleSearch gs; GoogleSearchResult gsr; String key = "";try {if (args.length < 1) { System.out.println("Usage: java MyGoogleSearch /"some string/"/n"); System.exit(0);}gs = new GoogleSearch(); gs.setKey(key); gs.setQueryString(args[0]); gsr = gs.doSearch(); System.out.println("Result: " + gsr); } catch (Exception e) { System.out.println("Exception: " + e.getMessage()); e.printStackTrace();}}}GoogleSearch类实现了上述代码的主要功能。这个类在一个“标准”Java类中包装Google的Web服务。在GoogleSearch类中,每一个Web服务方法都用一个Java方法来表示,例如doSearch()。参数并没有在方法中指定,而是从属于GoogleSearch类,在调用某个方法之前必须指定其参数。 在最简配置的搜索中,你至少需要提供密匙码和查询字符串。我们的密匙码已经在上述文件中写死了(代码“ String key = "";”),查询字符串来自类运行时的命令行。 方法doSearch()的返回值是一个GoogleSearchResult类。这个类包括了搜索的所有结果,例如搜索到的页面数、描述、缓冲大小以及其它有关信息。为了简化我们这个例子,搜索结果用隐含的toString()方法输出到控制台。每一项结果都包括一个URL、标题、内容摘录、目录类别、目录标题、摘要、缓冲大小以及主机名;它还指出相关信息是否可以访问到。