Google SOAP Search API

Google SOAP Search API

現在、新規ライセンスキーの発行が停止されている。

概要

アカウントの作成とライセンスキーの発行

インストール

cd
unzip ~/Desktop/soapsearch.zip
cd googleapi
su
install -o root -g root -m 0444 googleapi.jar /usr/java/*/jre/lib/ext/
exit

Java の API 仕様は javadoc というディレクトリの中に入っている。

サンプルプログラム

import java.io.*;
import com.google.soap.search.*;  // googleapi.jar に入っているパッケージ

public class WebSearch {
    private static final String clientKey = "ここに自分のキーを記述";
    public static void main(String[] args) {
	String query = args[0];
	System.out.println("検索質問: " + query);

	GoogleSearch search = new GoogleSearch();
	search.setKey(clientKey);                  // ライセンスキーのセット
	search.setLanguageRestricts("lang_ja");    // 日本語のページに限定
	// search.setLanguageRestricts("lang_en"); // 英語のページに限定
	search.setFilter(true);                    // 類似サイトをまとめる
	// search.setStartResult(10);              // 10件目から (0から数えて)
    
	search.setQueryString(query);
	try {
	    // 検索
	    GoogleSearchResult result = search.doSearch();
	    System.out.println("検索結果 約 "
			       + result.getEstimatedTotalResultsCount() // ヒット数
			       + " 件");
	    GoogleSearchResultElement[] element = result.getResultElements();
	    for (int i = 0; i < element.length; i++) {
		System.out.print(i+1 + ": ");
		System.out.println(element[i].getTitle());
		System.out.println(element[i].getURL());
		System.out.println(element[i].getSnippet());
		System.out.println(element[i].getSummary());// ODP
	    }
	    // もしかして?
	    String suggestion = search.doSpellingSuggestion(query);
	    if(suggestion != null)
		System.out.println("もしかして: " + suggestion);
	} catch (GoogleSearchFault fault) {  // 検索失敗の例外
	    System.out.println(fault.toString());
	}
    }
}

WebSearch.java