C# 保存搜索引擎的搜索结果

C# 保存搜索引擎的搜索结果,c#,vb.net,visual-studio,web,search-engine,C#,Vb.net,Visual Studio,Web,Search Engine,我正在尝试编写一个应用程序来自动在搜索引擎上执行搜索(在搜索框中搜索指定的电话号码),并以任何形式(XML、文本)获取结果页面。我尝试了几个网络爬虫/刮板,但我没有找到执行搜索和保存结果数据的东西。他们只能获取请求的页面数据,这不是我需要的 语言可以是C#、VB.Net或Java,只要提供解决方案就行。谢谢 我正在寻找这样做的工具或代码片段。这样的函数将以字符串形式提取数据,但您必须自己解析其中的数据: Public Shared Function GetWebPageData(ByVal ad

我正在尝试编写一个应用程序来自动在搜索引擎上执行搜索(在搜索框中搜索指定的电话号码),并以任何形式(XML、文本)获取结果页面。我尝试了几个网络爬虫/刮板,但我没有找到执行搜索和保存结果数据的东西。他们只能获取请求的页面数据,这不是我需要的

语言可以是C#、VB.Net或Java,只要提供解决方案就行。谢谢


我正在寻找这样做的工具或代码片段。

这样的函数将以字符串形式提取数据,但您必须自己解析其中的数据:

Public Shared Function GetWebPageData(ByVal address As Uri) As String
    Dim request As HttpWebRequest
    Try
        request = DirectCast(WebRequest.Create(address), HttpWebRequest)

        Using response As HttpWebResponse = DirectCast(request.GetResponse(), HttpWebResponse)
            Using reader As StreamReader = New StreamReader(response.GetResponseStream())
                Return reader.ReadToEnd
            End Using
        End Using
    Catch ex As Exception
        'TODO handle the error here....
        Return ""
    End Try
End Function
用法:

Dim xml As String = Networking.GetWebPageData(New Uri("http://www.hitta.se/077-570%2005%2000/f%C3%B6retag_och_personer"))
Debug.WriteLine(xml)

我正在寻找一个工具或代码片段来实现这一点。你指的是什么搜索引擎?我发现这个问题很不清楚。这是一个没有API的搜索引擎。Hitta.se。一个瑞典的搜索引擎。我想,仅仅是一个模仿浏览器的webrequest就能让你得到它?我想你必须自己实现它。执行查询,保存返回的html网页->根据html的结构,从中获取所需的值。但是如果搜索引擎本身改变了一些东西,你就完蛋了。这可能是一个很好的答案。搜索引擎的url是(),它有一个搜索按钮。您可以在搜索框中测试此号码“070-421 30 10”,然后单击按钮。在这种情况下,我的web请求url是什么?正如您所看到的,结果url包含此人的姓名。在这种情况下,我想您必须尝试URL的格式。但如上所述,如果serach引擎更改其格式,它将突然破坏如下内容:
www.hitta.se/person/hMWZ5UUGqb?vad=070-421+30+10&var=
我本来打算发布一个答案,但它还是关闭了,所以在这里它被压缩为一个注释:Dim query as String=System.Web.HttpUtility.UrlEncode(“070-421 30 10”)Dim url为String=String.Format(“{0}&var=&var hidden=”,query)Dim source为String=New Net.WebClient().DownloadString(url),由于我必须将其放在注释中,http部分在String.Format之后从url中剥离,因此请确保使用完整的url。以后,请查看页面的源代码。form操作显示url,post方法是GET,因此只需将表单字段名称按顺序附加到url,并格式化查询(在我的示例中使用urlencode)