关于Google的web服务


     今天想起来为什么不用Google把我们数据库里的偷来信息到Google上搜索得到更详细的信息筛选后入库呢,还能省兼职的工,就开始寻找相关资料,但是发现我这里不能下载Google的sdk,就只能托US的朋友下载一个再传给我,注册Google的帐号后发现取不到授权的Key,不管是上海还是北京还是杭州都不行,只好托NZ的朋友帮忙登录得到一个,东西全了开始写代码又发现http://api.google.com/GoogleSearch.wsdl上海北京杭州都不能访问,NZ能访问,唉郁闷啊,这算不算国别歧视,还是我们D不让我们访问呢。只能找了人家的代码记录一下了。

      一、下载类库创建帐户
      首先要上http://www.google.com/apis/ 下载类库和创建一个访问google的帐户。

      二、一个例子
      这样便可以在自己的程序中访问Google提供的搜索功能了。通过google提供的WSDL来生成对应的Java类以及Stub文件来访问。还可以通过Google提供的API直接访问,下面这个例子是应用google提供的API来访问。

import com.google.soap.search.GoogleSearch;
import com.google.soap.search.*;
public class GoogleSearchTutorial {
    public static void main(String[] args) {
        try {
            String searchTerm = "帅哥 做梦的bug";//args[0];            
            
            GoogleSearch search = new GoogleSearch();                        
            
/*          //建议拼写
*          String suggestion = search.doSpellingSuggestion(spellingRequest);
*          //缓存页面
            byte[] pageText = search.doGetCachedPage(  
         "http://www-106.ibm.com/developerworks/xml/library/x-tiphdln.html");*/
            
            //输入和输出语言的编码
            search.setInputEncoding("greek");
            search.setOutputEncoding("hebrew");
            
            //去除成人结果
            search.setSafeSearch(true);
            
            //去除相关结果
            search.setFilter(true);  
            
     //如果需要代理,别忘了在这里设置
            //search.setProxyHost("proxy");
            //search.setProxyPort(80);
            search.setKey("00000帐户0000000");
            search.setQueryString(searchTerm);
            
            //设定检索的范围
            int startResult = 2;  
            search.setStartResult(startResult);  
            int maxResult = 2;  
            search.setMaxResults(maxResult);
            
            //设定检索的区域
            search.setRestrict("countryChinese");
            
            //设定语言限制
            search.setLanguageRestricts("lang_zh-CN");  
            
            GoogleSearchResult result = search.doSearch();
            int numResults = result.getEstimatedTotalResultsCount();
            //显示结果页面
            //System.out.println( result.toString() );
            //显示结果记录的在检索结果中的位置范围
            GoogleSearchResultElement[] resultElements = result
                    .getResultElements();
            System.out.println("Start index = " + result.getStartIndex());
            System.out.println("End index = " + result.getEndIndex());
            int startIndex = result.getStartIndex() - 1 - startResult;
            int endIndex = result.getEndIndex() - 1 - startResult;
            for (int i = startIndex; i <= endIndex; i++) {
                GoogleSearchResultElement resultElement = resultElements[(i)];
                //得到结果的Goolge 分类
                GoogleSearchDirectoryCategory category = resultElement
                        .getDirectoryCategory();
                String categoryViewable = category.getFullViewableName();
                String categoryString = category.toString();
                System.out.println(categoryViewable + " " + categoryString);
                
                //内容片断
                String snippet = resultElement.getSnippet();  
                
                //Open Directory Project 是自愿发起为因特网上有价值的站点编制目录的工作
                String directoryTitle = resultElement.getDirectoryTitle();  
                String directorySummary = resultElement.getSummary();  
                                
                //标题、URL
                String title = resultElement.getTitle();
                String url = resultElement.getURL();
                System.out.println(title);
                System.out.println(url);
                System.out.println("    " +  snippet );
                System.out.println("Open Directory Information:");  
                System.out.println("    " + directoryTitle);  
                System.out.println("    " + directorySummary);
                System.out.println("");
            }
            if (result.getEstimateIsExact()) {
                System.out.println("Number of results: " + numResults);
            } else {
                System.out.println("Estimated number of results:" + numResults);
            }
        } catch (GoogleSearchFault gsf) {
            System.out.println("Google Search Fault: " + gsf.getMessage());
        }
    }
}


上一篇: 俺家在装修了
下一篇: 【原创】发布光盘启动DOS杀毒最新版(江民+瑞星)15m
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
相关日志:
评论: 0 | 引用: 0 | 查看次数: 3605
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 邮件地址支持Gravatar头像,邮箱地址不会公开.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 5000 字 | UBB代码 关闭 | [img]标签 关闭