施用Google搜索引擎提供的Web服务

使用Google搜索引擎提供的Web服务

 

文章来源:清华IT教育培训中心 

使用Google搜索引擎提供的Web服务

一、简介

Google搜索引擎提供了基于SOAP的Web Services。这意味着不同的开发语言、开发环境都能够使用这种服务,另外,Google为了简化Java程序员的开发,它还提供了一套Java API接口,用于访问Web Services,这使得开发一套支持Google搜索功能的程序变得十分容易。开发人员可以将Google的搜索功能嵌入到他们的应用程序当中。本文将介绍如何使用这些Java API,以及如何使用Google的Web Services。

目前,Google的API还是处于Beta测试阶段,因此,在API的使用上还有一些限制。例如,使用这些API需要申请一个帐号。对于免费申请的帐号,为了防止开发人员不正当的使用,限制每个帐号、每天最多只能查询1000次。目前,Google还没有提出正式的运营模式和收费方式。

Google API目前主要提供三种服务,分别如下:

(1)搜索服务。用户提交一个搜索内容请求,Google服务器将查找超过20亿的网页内容,并且将满足用户需求的目标返回给用户,一般来说这种处理只需要几秒的时间。

(2)缓存服务(Cache)用户提交一个URL,Google服务器将返回搜索器访问该URL的最新记录。这样,用户很容易重复使用Google的搜索成果。

(3)拼写检查。该功能用于检查用户的查询请求是否有效。用户提交一个查询请求,Google服务器将返回有效的、最接近该内容的检查内容,返回的查询请求将符合Google的查询规则。

二、使用Google API

Google为了提高开发人员的开发效率,提供了一套基于Java的API,用于直接访问Google服务器。该API包装了Google的Web Services,使用起来比Web Services更加方便。该API包主要包括如下几个类:

l GoogleSearch:该类封装了对于Google服务器的访问,支持搜索和缓存(cache)功能。

l GoogleSearchDirectoryCategory:表示Google中的一个分类目录。

l GoogleSearchFault:该类为Exception的一个子类,用于表示API使用的错误。

l GoogleSearchResult:该类封装了搜索的结果。

l GoogleSearchResultElement:该类表示搜索结果中的每一条记录。

下面的一个例子,用于一个简单查询,查询请求为“2008 奥运会”,查询的帐号为“12345678”。该例子将把查询结果打印出来。如果用户需要进一步解析查询结果,可以使用GoogleSearchResult和GoogleSearchResultElement类。

import com.google.soap.search.*;

import java.io.*;

public class GoogleAPITest {

public static void main(String[ ] args) {

String clientKey="123456789";

String query="2008 奥运会";

GoogleSearch s = new GoogleSearch();

s.setKey(clientKey);

try {

s.setQueryString(query);

GoogleSearchResult r = s.doSearch();

System.out.println("Google Search Results:"+t.toString());

} catch (GoogleSearchFault f) {

System.out.println("The call to the Google Web APIs failed:"+f.toString());

}

}

}

当然此处的clientKey只是我们随便起的,这是一个并不存在的帐号,如果有同学对此感兴趣,可以到Google的主页上去申请一个帐号,以获得该Web服务。