文章内容

2017/3/13 13:29:49,作 者: 黄兵

如何ASP.NET中调用Google服务搜索引擎

1、使用VS.NET 2003建立一个web应用程序
2、添加web引用(Google服务的地址为:http://api.google.com/GoogleSearch.wsdl)
具体的操作如下:
       a.右键单击该项目。
       b.选择 添加Web 引用
       c.在 Address 文本框中,键入 Web 服务说明的位置 (http://api.google.com/GoogleSearch.wsdl)
        d.单击 Add Reference 按钮以导入 Web 服务定义。
        e.重命名web引用,添加引用后默认引用名称为:com.google.api,为了方便使用
我们将它重命名为google.
3,调用web服务进行搜索
首先添加一个页面
命名为:google.aspx
在页面上放一个文本框:Textbox1
一个按钮:Button1
两个标签:
Label1:用于显示搜索记录的数量
Label2:用于显示搜索记录数据
在Button1_Click事件中加入如下代码
        If Textbox1.Text <> "" Then
            Dim MyLicenseKey As String '用于存放搜索时使用的注册码
           
            '定义一个搜索类对象
            Dim MyService As google.GoogleSearchService = New _
            google.GoogleSearchService

            ' 定义一个搜索返回集类对象,用于返回搜索的结果
            Dim MyResult As google.GoogleSearchResult

            ' 请在这里输入注册码
            MyLicenseKey = "tGCTJkYos3YItLYzI9Hg5quBRY8bGqiM"

            ' 执行搜索调用
        'MyService.doGoogleSearch方法的参数说明
        'MyService.doGoogleSearch("注册码","搜索内容",start,end,false,"","","","")
        '其中start到end为返回第start 条到end条数据
            ''注:一次最大只能反回10条记录的结果,即end-start=10

            MyResult = MyService.doGoogleSearch(MyLicenseKey, _
            Textbox1.Text, 0, 10, False, "", False, "", "", "")


            ' 输出返回的搜索结果记录条数
            If CStr(MyResult.estimatedTotalResultsCount) <> 0 Then
                Label1.Text = "搜索结果:共 " & _
                CStr(MyResult.estimatedTotalResultsCount) & "条符合条件的记录." & Chr(13) & Chr(10) & "用时:" & MyResult.searchTime & "秒"
            End If
            Dim Str As String
            Try
            ''注:一次最大只能反回10条记录的结果
                If CStr(MyResult.estimatedTotalResultsCount) > 10 Then
                      '如果结果记录大于10,只显示前10条记录
                    For i = 0 To 9
                        Str = Str & "<a href=" & MyResult.resultElements(i).URL & " target=_blank>" & MyResult.resultElements(i).title & "</a><br>" & _
                            MyResult.resultElements(i).snippet & "<br><br>"
                    Next
                Else
                    For i = 0 To CStr(MyResult.estimatedTotalResultsCount) - 1 
                        '否则,全部显示全部记录
                        Str = Str & "<a href=" & MyResult.resultElements(i).URL & ">" & MyResult.resultElements(i).title & "</a><br>" & _
                            MyResult.resultElements(i).snippet & "<br><br>"
                    Next
                End If
            Finally
                Label2.Text = Str
            End Try
        Else
            LabResurt.Text = ""
            Label1.Text = "请输入一个关键字!"
        End If

分享到:

发表评论

评论列表