当前位置:编程学习 > C#/ASP.NET >>

基于Google.com的Apis的客户端程序

答案:原作:Smile Seo


说明:
这是一个非常小的Google客户端程序,原作者是Smile Seo,我只是转译并在适当的地方加上了注释。


注意:
这里用到了Google提供的web service,你需要Google提供给你一个免费的许可密码,同时你每天也只能以这个密码搜索1000次。

你能够在http://www.google.com/apis/下载SDK并申请密码。再次感谢Smile Seo与Google。

下载源码(155Kb)

代码如下:

private void buttonSearch_Click(object sender, System.EventArgs e)
{

    labelSearchText.Text = "搜索...";
    labelSearchText.Update();


    // 创建Google的搜索对象
    //
    GoogleSearchService s = new GoogleSearchService();
    GoogleSearchResult r;


    // 调用搜索函数
    //
    r = s.doGoogleSearch(
        "",  ; 这里需要你的许可密码!
        textSearch.Text,
        0,
        10,
        false, "", false, "", "", "");


    // 创建result.htm文件来显示结果
    //
    string strFile = "result.html";
    StreamWriter sw = File.CreateText(strFile);


    // 文件头
    //
    sw.WriteLine("<HTML><HEAD></HEAD><BODY>");


    // 显示范围
    //
    foreach(DirectoryCategory dc in r.directoryCategories)
    {
        sw.Write("<b>范围</b> : ");
        sw.WriteLine(dc.fullViewableName);
        sw.WriteLine("<br><br><br>");
    }



    foreach(ResultElement re in r.resultElements)
    {
        // 显示标题
        //
        string strTitle = "<a href=>                          re.title + "</a><br>";
        sw.WriteLine(strTitle);
        
        // 显示片断内容
        //
        string strSnippet = re.snippet +"<br>";
        sw.WriteLine(strSnippet);

        // 显示链接地址与cache大小
        //
        string strLink = "<a href=>                         + re.cachedSize + "<br><br>";
        sw.WriteLine(strLink);

        // 空2行
        //
        sw.WriteLine("<br><br>");
    }


    // 文件关闭
    //
    sw.Close();

    
    // 显示搜索结果
    //
    labelSearchText.Text = textSearch.Text + " '的搜索结果";

    int estResults = r.estimatedTotalResultsCount;
    double ldTime = r.searchTime;
    labelSearchResult.Text = "约搜索到 " + Convert.ToString(estResults) + "项  " +
                    "这是第1 - 10 项  搜索用时:" +
                                         Convert.ToString(ldTime);


    // 浏览搜索内容
    //
    object obj = null;
    DirectoryInfo di = new DirectoryInfo(Environment.CurrentDirectory);
    string strFilePath = di.FullName + "\\" + strFile;
    WebBrowser.Navigate(strFilePath, ref obj, ref obj, ref obj, ref obj);
}


// 链接Google API主页
//
private void linkLabel1_LinkClicked(object sender,
                      System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
{
    object obj = null;

    WebBrowser.Navigate("http://www.google.com/apis/", ref obj, ref obj,
                        ref obj, ref obj);
}

上一个:OK。把邮件发送类转过来,让大家看看
下一个:Whois search using C#(感觉不错。以前C++和VB的都做过。现在换一个C#的看看)

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,