Javaプログラミング編 |
|
Google(http://www.google.co.jp/)――いわずと知れたサーチエンジンの代表ともいうべきサイトです。皆さんの中にも、パーソナル/ビジネス用途を問わず、インターネット上から情報を得るためにGoogleの恩恵にあずかっているという方は多いのではないでしょうか。
このGoogleが抱える膨大なサイト情報を自分自身のアプリケーションから自由に利用できたら、どんなに便利でしょう。本稿では、Googleが無償で提供するGoogle APIを介して、Googleの検索データベースに直接にアクセスする方法を紹介します。Google APIを利用することで、Googleのデータベースをあたかも自前のものであるかのようにアクセスすることができますので、取得したデータを加工したり、検索結果をより自由な形にレイアウトしたうえで見せることも可能になるのです。
それでは早速、Google API活用の具体的なサンプルを眺めてみることにしましょう。
■操作手順
(1) Google API をインストールする
Google API を利用するに当たっては、 Google Web APIs devaloper's Kit とライセンスキーを、 Google Web APIs ( http://www.google.com/apis/ )から取得する必要があります。ダウンロードファイル googleapi.zip を入手したら、解凍したフォルダ直下にある googleapi.jar をアプリケーションルート配下の「 /WEB-INF/lib 」フォルダにコピーしてください。
ライセンスキーは、同 Google Web APIs のページからユーザー登録を行うだけで取得することができます。登録した E-Mail アドレスに対して、ライセンスキー取得のための URL が送信されますので、指定されたページにアクセスするだけで終了です。
(2) JSPページからGoogle APIを利用する
それでは、 JSP ページから Google API にアクセスして、インターネット上のサイトを検索してみることにしましょう。もちろん、実際のアプリケーションではコード部分はサーブレットクラス、 JavaBeans などに記述するべきですが、本稿ではスペースの都合上、 JSP ページ内にすべて記述してしまうことにします。
google.jsp |
<%@ page contentType="text/html;charset=Windows-31J" |
GoogleSearchクラスは、Google検索を行うための諸条件を管理するためのクラスで、このクラスに対して必要なパラメータ値を渡すことで、Googleに対して検索問い合わせを行うことができます(設定可能なパラメータ値は、ダウンロードファイルに添付のAPIリファレンスを参照してください)。setKeyメソッドには、手順[1]で取得したライセンスキーを各自設定する必要があります。
一連の setter メソッドを設定した後は、 GoogleSearch#doSearch メソッドで検索処理を実行します。 doSearch メソッドは、戻り値として検索結果の概要(結果件数や検索時間)を表す GoogleSearchResult クラスを返します。結果の詳細情報を取得したい場合には、 GoogleSearchResult#getResultElements メソッドで GoogleSearchResultElement クラスを取得してください。
「Java TIPS」 |
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (2017/5/9)
ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。今回は、実案件を事例とし、ログ管理基盤の有用性を、障害対応時間比較も交えて紹介 - Chatwork、LINE、Netflixが進めるリアクティブシステムとは何か (2017/4/27)
「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します - Fluentd+Elasticsearch+Kibanaで作るログ基盤の概要と構築方法 (2017/4/6)
ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。初回は、ログ基盤の構築、利用方法について - プログラミングとビルド、Androidアプリ開発、Javaの基礎知識 (2017/4/3)
初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。
|
|