• 追加された行はこの色です。
  • 削除された行はこの色です。
*Google SOAP Search API - Web検索機能のサンプル(VB.NET) [#l579912c]

ここではコードのみを示します。詳しい解説は、[[C#のサンプル>../Web検索機能のサンプル(C#)]]をご覧ください。

**コード [#f5247cfa]

#code(vbnet){{
<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    Protected Sub Button1_Click(ByVal sender As Object, _
        ByVal e As System.EventArgs)
        'キーを指定。必ず変更すること。
        Dim key As String = "XXXXXXXXXXXXXXXXXXXXXX"
        '結果の開始インデックス
        Dim startIndex As Integer = 0
        '取得する結果の最大値
        Dim maxResults As Integer = 10
        '検索の対象にする言語
        Dim lr As String = ""
        If langJapanese.Checked Then
            lr = "lang_ja"
        End If '国などを指定
        Dim restricts As String = ""
        If countryJapan.Checked Then
            restricts = "countryJP"
        End If '入力、出力文字コード。現在は指定不可。
        Dim inputEncoding As String = ""
        Dim outputEncoding As String = ""

        'プロキシクラスのインスタンスを作成
        Dim gs As New Google.GoogleSearchService()
        Dim res As Google.GoogleSearchResult = Nothing
        Try
            '検索する
            res = gs.doGoogleSearch( _
                key, _
                TextBox1.Text, _
                startIndex, _
                maxResults, _
                autoFiltering.Checked, _
                restricts, _
                safeSearch.Checked, _
                lr, _
                inputEncoding, _
                outputEncoding)
        Catch ex As System.Web.Services.Protocols.SoapException
            Label1.Text = "エラー:" + Server.HtmlEncode(ex.Message)
            Return
        End Try
        If res Is Nothing Then
            Label1.Text = "エラー:結果を取得できませんでした。"
            Return
        End If

        '結果表示
        Label1.Text = ""
        Label1.Text += "<b>" + Server.HtmlEncode(res.searchQuery) + _
            "</b> の検索結果 約 " + _
            res.estimatedTotalResultsCount.ToString() + "件中 " + _
            res.startIndex.ToString() + " - " + _
            res.endIndex.ToString() + " 件目 (" + _
            res.searchTime.ToString() + " 秒)<br />"
        'コメントがあるときは表示
        If Not (res.searchComments Is Nothing) AndAlso _
            res.searchComments.Length > 0 Then
            Label1.Text += "<br />" + res.searchComments + "<br />"
        End If 'Tipsがあるときは表示
        If Not (res.searchTips Is Nothing) AndAlso _
            res.searchTips.Length > 0 Then
            Label1.Text += "<br />" + res.searchTips + "<br />"
        End If
        'カテゴリがあるときは表示
        If Not (res.directoryCategories Is Nothing) AndAlso _
            res.directoryCategories.Length > 0 Then
            Label1.Text += "<br /><b>カテゴリ:</b><br />"
            Label1.Text += "<ul>"
            Dim categories As Google.DirectoryCategory
            For Each categories In res.directoryCategories
                Label1.Text += "<li>" + categories.fullViewableName
            Next categories
            Label1.Text += "</ul>"
            Label1.Text += "<br />"
        End If

        'ヒットした検索結果
        If Not (res.resultElements Is Nothing) AndAlso _
            res.resultElements.Length > 0 Then
            Label1.Text += "<ul>"
            Dim element As Google.ResultElement
            For Each element In res.resultElements
                'タイトルの表示(リンク付き)
                Label1.Text += "<li><a href=""" + element.URL + """>"
                If Not (element.title Is Nothing) AndAlso _
                    element.title.Length > 0 Then
                    Label1.Text += element.title
                Else
                    Label1.Text += element.URL
                End If
                Label1.Text += "</a>"
                'ヒットした箇所の周辺を表示
                If Not (element.snippet Is Nothing) AndAlso _
                    element.snippet.Length > 0 Then
                    Label1.Text += "<br />" + element.snippet
                End If
                Label1.Text += "<br /><small>" + element.URL
                'キャッシュのサイズを表示
                Label1.Text += " - " + element.cachedSize
                '関連ページの有無を表示
                If element.relatedInformationPresent Then
                    Label1.Text += " - 関連ページあり"
                End If
                Label1.Text += "</small>" + ControlChars.Lf
            Next element
            Label1.Text += "</ul>"
        End If
    End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Google SOAP Search APIのサンプル</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click"
         Text="検索開始" /><br />
        <asp:CheckBox ID="autoFiltering" runat="server"
         Text="類似の結果を隠す" /><br />
        <asp:CheckBox ID="langJapanese" runat="server"
         Text="日本語のページのみ検索する" /><br />
        <asp:CheckBox ID="countryJapan" runat="server"
         Text="日本のサイトのみ検索する" /><br />
        <asp:CheckBox ID="safeSearch" runat="server"
         Text="アダルトコンテンツを除外する" /><br />
        <br />
        <asp:Label ID="Label1" runat="server" EnableViewState="False">
        </asp:Label></div>
    </form>
</body>
</html>
}}

//これより下は編集しないでください
#pageinfo(,2006-08-25 (金) 00:57:12,DOBON!,2006-08-25 (金) 00:57:12,DOBON!)


[ トップ ]   [ 新規 | 子ページ作成 | 一覧 | 単語検索 | 最終更新 | ヘルプ ]