- 追加された行はこの色です。
- 削除された行はこの色です。
*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!)