Trasis Inc.

渋谷拠点のシステム開発会社

Java 用 Google, Yahoo! 検索API

Web の世界は進歩が早すぎ。ここ数年、コンプライアンス体制構築などにかかりきりで Web やプログラム開発の世界から遠ざかっているうちに、 Web 2.0 やら SEO やら、分からない技術が増えてしまった。

まずは初心に帰って、ホームページやブログを構築。
(まだ中身がうすっぺらだけど)情報を掲載した際には必要としてくださる方々にそれを見てもらいたい
わけで、検索にひっかかるよう、SEO のお勉強。

その一環として、Google や Yahoo! がどのようにして、ユーザがどの検索結果をクリックしたのを検出しているのかを調査。
そして、調査結果を API としてまとめた。

API 作成

こういう感じで利用するものを作成。

GoogleSearch client = new GoogleSearch();
// Cookie を取得する。
client.updateCookie();
// 検索
Query query = new Query("java");
List<Result> results = client.search(query);
for (Result result : results) {
System.out.println(result);
}

Yahoo! も同様

Query query = new Query("java");
YahooSearch client = new YahooSearch();
List<Result> results = client.search(query);
for (Result result : results) {
System.out.println(result);
}

Yahoo! API を使った検索

純粋に検索結果が欲しいなら、Yahoo! Developer Network で公開されている ウェブ検索Webサービス を使ったほうがいい。
他のクラスとインタフェースを合わせ、次のように検索できるようにした。

String appid = "(取得したID)";
YahooAPISearch client = new YahooAPISearch(appid);
Query query = new Query("java");
List<Result> results = client.search(query);
for (Result result : results) {
System.out.println(result);
}

具体的なサンプルはこちら。
Commons Digester で Yahoo! 検索を行うサンプル

他の検索API

昔、google から検索 API が提供されていたが、2005年に終了してしまった。
http://code.google.com/apis/soapsearch/

代わりに、JavaScript から呼び出せる Google AJAX Search API が提供されている。
http://code.google.com/apis/ajaxsearch/