首页/技术开发/内容

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

技术开发2024-06-02 阅读()
原作: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.URL + "\">" +
re.title + "</a><br>";
sw.WriteLine(strTitle);

// 显示片断内容
//
string strSnippet = re.snippet +"<br>";
sw.WriteLine(strSnippet);

// 显示链接地址与cache大小
//
string strLink = "<a href=\"" + re.URL + "\">" + re.URL + "</a> - "
 + 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);
}

……

相关阅读