Googleクラスを作成する

 

ソリューションエクスプローラのプロジェクトの右クリックから[追加]-[新しい項目の追加]を選択します。「新しい項目の追加」ダイアログが表示されたら、「テンプレート」から[クラス]を選択します。「ファイル名」に「Google.vb」を入力したら、[開く]ボタンをクリックします。クラスのコードビューが表示されたら、リスト1のコードを入力して保存します。

 

リスト1:グーグルのWebサービスを利用するクラス(Google.vb)

Imports System.Data

Imports Microsoft.VisualBasic

Namespace GoogleServices

  Public Class Google

    Public Shared Function GoogleSearch( _

      ByVal query As String, _

      Optional ByVal key As String = "kPem4GHuhC1zlwopdkRbyYxGDFrf3UuI", _   ←要書き換え

      Optional ByVal start As Integer = 0, _

      Optional ByVal maxResults As Integer = 10, _

      Optional ByVal filter As Boolean = True, _

      Optional ByVal restrict As String = "", _

      Optional ByVal safeSearch As Boolean = False, _

      Optional ByVal languageRestrict As String = "lang_ja", _

      Optional ByVal inputEncoding As String = "", _

      Optional ByVal outputEncoding As String = "") As DataView

      If query Is Nothing Then

        Return Nothing

      End If

      Dim ws As New GoogleApi.GoogleSearchService

      Dim results As GoogleApi.GoogleSearchResult = Nothing

      Try

        results = ws.doGoogleSearch(key, query, start, maxResults, _

            filter, restrict, safeSearch, languageRestrict, _

            inputEncoding, outputEncoding)

      Catch ex As Exception

      End Try

      Return GetDataView(start + 1, results)

    End Function

    ・・・

  End Class

End Namespace

 

グーグルのWebサービスを利用するには、以下のサイトからアカウントを作成してライセンスキーを取得する必要があります。GoogleSearchメソッドの引数(key)には著者のライセンスキーが指定されていますので、ご自分のものと置換してください。

 

http://www.google.com/apis/

 

GoogleSearchメソッドを実行するには、表1に示すような引数を指定する必要があります。たとえば、キーワード「Ajax」を検索して結果を取得するには、次のように記述します。

 

Dim dv As DataView = GoogleSearch("Ajax")

 

GoogleSearchメソッドの検索結果としてDataViewが返されます。DataViewは、表2に示すような列から構成されています。

 

1GoogleSearchメソッドの引数と意味

引数

説 明

query

検索するキーワードを指定します。論理演算(*1)や特殊構文(*2)も指定できます。

 

*1:キーワードのデフォルト値は「AND」検索です。「OR」検索を行うには「OR」または「|」をキーワードの間に挿入します。キーワードの前に「-」を付加すると検索対象から除外します。

 

例:Microsoft Access (AND検索)Microsoft OR Access (OR検索)

  Microsoft | Access (OR 検索)”Microsoft Access”

    Microsoft (Access | Excel)Microsoft Access -Excel

 

*2:グーグルは、intitle:inurl:intext:inanchor:などの特殊構文をサポートしています。

 

例:intitle:ajaxinurl:asp.netintext:accessinanchor:excel

key

ライセンスキーを指定します。

start

検索結果を取得するときのインデックス番号(0から開始)を指定します。ページングするときに利用します。既定値(0)

maxResults

検索した結果を取得する件数(1-10)を指定します。既定値(10)

filter

類似データをフィルタするかどうかを論理値(True/False)で指定します。既定値(True)

restrict

検索を制約するときに指定します。既定値(””

safeSearch

アダルトコンテンツを除外するかどうかを論理値(True/False)で指定します。既定値(True)

languageRestrict

Webページの言語を制約するときに指定します。既定値(日本語)

inputEncoding

このパラメータは指定しても無効です。既定値(UTF-8)

outputEncoding

このパラメータは指定しても無効です。既定値(UTF-8)

 

 

表2:DataViewの列

No

列名

内容

1

AutoID

シーケンス番号(ヘッダー情報)

2

EstimatedTotalResultsCount

想定検索件数(ヘッダー情報)

3

StartIndex

開始インデックス番号(ヘッダー情報)

4

EndIndex

最終インデックス番号(ヘッダー情報)

5

SearchQuery

検索キーワード(ヘッダー情報)

6

SearchTime

検索時間(ヘッダー情報)

7

Title

タイトル(<b></b>などのHTMLタグが含まれる)

8

URL

サイトのURL

9

Snippet

サイトの概要(,<b></b>などのHTMLタグが含まれる)