.NET Tools

Googleをプログラムから呼び出す

(株)ピーデー
川俣 晶
2002/06/18

Page1 Page2 Page3

検索エンジンに自作プログラムからアクセス

 ネットサーフィンを行うとき、検索エンジンのお世話になるのはよくあることだと思う。もはや、検索エンジンは当たり前すぎて、いちいち意識しない人も多いかもしれない。また、Webブラウザのホームページ(本来の語源どおりの意味でのホームページ。つまり、Webブラウザを起動したときに最初に表示されるページ)を、自分の好みの検索エンジンに設定している人も多いかもしれない。

 実際、検索エンジンの実用性の向上には目を見張るものがあり、テレビ局や大手新聞社や出版社など、公共性の高いサイトなら、ほとんど一発で見つけてくれる。数年前なら、自前の「お気に入り」に、そういうサイトもまめに登録しておく必要があったが、最近では、検索エンジンですぐ見つかるので、いちいち登録しなくなってしまった。「お気に入り」に登録するのは、検索エンジンですぐ見つからない込み入ったものや、日常的に頻繁に参照するものに限られるようになってしまった。

 さて、こういう検索エンジンの使い方に毎日浸っていると、世界的に人気のある検索エンジン、「Google」がWebサービスに対応し、ベータ・テストを開始したと聞いても、あまりピンとこないかもしれない。Googleはすでにそこにあって、便利に使えているものである。それに、新しくWebサービスのインターフェイスを付け加えたからといって、何が具体的な恩恵なのか、ピンとこないのではないかと思う。

 Webサービスに対応するということは、自作プログラムから直接Googleの検索を行えるということを意味している。しかし、現状のGoogleでも、単に検索単語を入れてボタンを押すだけの極めて少ない手間で使えるわけで、その手間を自作プログラムでさらに減らすことはほとんど不可能だといえる。そのため、GoogleがWebサービス対応になっても、日々のネットサーフィンが変わるようには思えない。

 しかし、日々のネットサーフィンが変わらないから、意味のないものだと思うのは早計だろう。ユーザーがいちいち操作する場合、操作できる手数には限度がある。人間は疲れるし、飽きる。例えば、毎日同じ検索キーワードを入れて、新しいページが出てこないかどうか、1年365日監視してくれといわれたら、だれでも面倒くさいと思うだろう。だが、自作プログラムに毎日監視させるとなれば話は別だ。プログラムを開発する手間はかかるが、それは一時のものだ。何日監視が続こうと、手間が増えるわけではない。

 これはあくまで一例ではあるが、そういう観点から見ると、Webサービスの意義が見えてくるのではないだろうか。同じ条件の検索を根気よく、長期間にわたって行う場合には、Webサービスがあるのとないのでは、あまりにも手間が違いすぎる。

 では、そのようなプログラムが作成できるとしても、ぜひ欲しいというユーザーは本当にいるのだろうか? もし、その答えがYESなら、きっとGoogleのWebサービスには意義がある。だが、もし読者がNOと思ったとしても、意義がないという結論になるわけではない。これは、筆者がたまたま思い付いた使い方の1つにすぎないのだ。ここで紹介する応用例は、簡単なプログラムですぐ実現して試すことができる程度のものでしかない。しかし、Webサービスがプログラムに対するインターフェイスである以上、より高度なプログラムを作成して利用することに、何の制限もない。いま、NOと答えた読者でも、将来、そういう高度なプログラムの愛用者になる可能性はないとはいいきれないだろう。

どうやってプログラムを組むか

 次の問題は、Googleにアクセスするプログラムを記述するのに、どれぐらいの手間と技術力が必要とされるかだ。実際に試してみたところ、非常に簡単で、すぐに実現できた。むしろ、ユーザー・インターフェイスや、データの読み込みと書き出し機能のコーディングに時間を費やしてしまったほどだ。もし、思いどおりのプログラムが最低限記述できるスキルがあるなら、あとは日曜プログラミングの範囲で何とかなるレベルだと思えばだいたい間違いないだろう。

 では、具体的に、どんな手順を踏めば、Googleにアクセスするプログラムを記述できるか、順序を追って説明してみよう。なお、ここではVisual Studio .NET(以下、VS.NET)を使用するという前提で説明を進める。使用するプログラム言語はC#とする。

 何はともあれ、まずはGoogleから提供される開発キットを入手しなければならない。まず、Google Web APIs(beta)へアクセスし、そこから[Download]を選ぶ。ファイルをダウンロードしたらもちろん解凍しておく。

Google Web APIs(beta)のページ
このページから開発キットと、Webサービスのアクセスに必要なライセンス・キーを取得することができる。

 次は、Googleのアカウントを取得する。再びGoogle Web APIs(beta)へアクセスし、今度は[Create Account]を選んでアカウントの登録を行う。そして、ライセンス・キーという一連の呪文のような文字列を入手しなければならない。このライセンス・キーがなければ、GoogleのWebサービスを利用することができない。なお、ライセンス・キーは、GoogleアカウントのIDともパスワードとも違う第3の文字列なので、ほかのものと間違わないように注意しよう。

 ライセンス・キーの文字列が入手できたら、これでプログラムを書き始める準備は完了だ。

 VS.NETを開き、ここでWindowsアプリケーションなどのC#のプロジェクトを新規作成する。これが、Googleにアクセスする自作プログラムになる。次に、開発キットの「dotnet」ディレクトリ内にある「GoogleSearchService.cs」ファイルを、自分のプロジェクト内にコピーしてくる。そして、VS.NETの[プロジェクト]メニューから[既存項目の追加]で、このファイルをプロジェクトに追加する。そして、[プロジェクト]メニューの[参照の追加]から、System.Web.dllとSystem.Web.Service.dllへの参照を追加する。これが終わったらビルドしてエラーが出力されないことを確認しよう。以上で、自分のコードをコーディングする準備はできた。

 

 INDEX
  [.NET Tools]
Googleをプログラムから呼び出す
     1.まずは動作確認をしてみる
     2.Google監視ツールを作ってみた
 
インデックス・ページヘ  「.NET Tools」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間