通过c#window应用程序在google中搜索关键字

时间:2013-08-22 19:56:55

标签: c# window

我想开发一个将在谷歌搜索关键字的刮刀程序。我在启动刮刀程序时遇到问题。 我的问题是: 假设窗口应用程序(c#)有2个文本框和一个按钮控件。第一个文本框有“www.google.com”,第二个文本框包含关键字,例如:

textbox1:www.google.com textbox2:“板球”

我希望代码添加到将在谷歌搜索板球的按钮点击事件。如果有人在c#中有编程想法,那么请帮助我。

最好的问候

3 个答案:

答案 0 :(得分:6)

我搜索了我的问题并找到了解决上述问题的方法...... 我们可以为此目的使用谷歌API ...当我们添加对谷歌api的引用时,我们将在我们的程序中添加以下命名空间...........

using Google.API.Search;

在按钮点击事件中编写以下代码

 var client = new GwebSearchClient("http://www.google.com");
        var results = client.Search("google api for .NET", 100);
        foreach (var webResult in results)
        {
            //Console.WriteLine("{0}, {1}, {2}", webResult.Title, webResult.Url, webResult.Content);
            listBox1.Items.Add(webResult.ToString ());
        }

测试我的解决方案并发表评论......... thanx everybody

答案 1 :(得分:4)

我同意Paqogomez你似乎没有做太多的工作,但我也明白它可能很难开始。以下是一些示例代码,可以帮助您走上正确的道路。

    private void button1_Click(object sender, EventArgs e)
    {
        string uriString = "http://www.google.com/search";
        string keywordString = "Test Keyword";

        WebClient webClient = new WebClient();

        NameValueCollection nameValueCollection = new NameValueCollection();
        nameValueCollection.Add("q", keywordString);

        webClient.QueryString.Add(nameValueCollection);
        textBox1.Text = webClient.DownloadString(uriString);
    }

此代码将在Google上搜索“测试关键字”,并将结果作为字符串返回。

您要问的问题是,Google会将您的结果作为HTML返回,您需要解析。我真的认为您需要对Google API进行一些研究,以及以编程方式从Google请求数据所需的内容。在Google Developers开始搜索。

希望这有助于您开始正确的道路。

答案 2 :(得分:1)

您可以使用 WebClient 类和 DownloadString 方法 用于搜索。使用正则表达式匹配结果字符串中的 url。

例如:

WebClient Web = new WebClient();
string Source=Web.DownloadString("https://www.google.com/search?client=" + textbox2.text);
Regex regex =new Regex(@“ ^http(s)?://([\w-]+.)+[\w-]+(/[\w%&=])?$”);
MatchCollection Collection=regex.Matches(source);
List<string> Urls=new List<string>();
foreach (Match match in Collection)
{
    Urls.Add(match.ToString());
}