惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

K
Kaspersky official blog
T
Threat Research - Cisco Blogs
N
News and Events Feed by Topic
Hacker News: Ask HN
Hacker News: Ask HN
Project Zero
Project Zero
Application and Cybersecurity Blog
Application and Cybersecurity Blog
博客园 - 叶小钗
Security Latest
Security Latest
Spread Privacy
Spread Privacy
aimingoo的专栏
aimingoo的专栏
N
News and Events Feed by Topic
Webroot Blog
Webroot Blog
U
Unit 42
Cyberwarzone
Cyberwarzone
小众软件
小众软件
Scott Helme
Scott Helme
Engineering at Meta
Engineering at Meta
Microsoft Security Blog
Microsoft Security Blog
T
The Blog of Author Tim Ferriss
A
About on SuperTechFans
爱范儿
爱范儿
S
Schneier on Security
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Schneier on Security
Schneier on Security
Latest news
Latest news
GbyAI
GbyAI
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Simon Willison's Weblog
Simon Willison's Weblog
The Register - Security
The Register - Security
WordPress大学
WordPress大学
博客园_首页
Blog — PlanetScale
Blog — PlanetScale
PCI Perspectives
PCI Perspectives
Jina AI
Jina AI
AI
AI
NISL@THU
NISL@THU
I
Intezer
G
GRAHAM CLULEY
B
Blog
S
Secure Thoughts
IT之家
IT之家
宝玉的分享
宝玉的分享
Recent Announcements
Recent Announcements
Y
Y Combinator Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
酷 壳 – CoolShell
酷 壳 – CoolShell
有赞技术团队
有赞技术团队
V2EX - 技术
V2EX - 技术
Recorded Future
Recorded Future
Hacker News - Newest:
Hacker News - Newest: "LLM"

博客园 - lwjacky

SQL提高查询效益之in、not in、between、like等条件讲述 sqlserver查询数据的所有表名和行数 Extjs4---Cannot read property 'addCls' of null ExtJs4.1实现数据缓存 Sql 脚本文件太大 系统操作日志设计 一种简单的直观的高效的权限设计 ExtJs 常用方法 属性 C#农历类 SQL SERVER 如何批量修改表和存储过程的架构 HTML特殊转义字符列表 - lwjacky - 博客园 extjs3.0 修正 ie 与 firefox字体显示差异的补丁 C#实现QQ接口软件--QQ的HTTP接口协议探究 二次开发WinWebMail邮件系统接口 C#实现汉字转换为拼音缩写的代码 C#实现将汉字转化为拼音的代码 extjs IE8下datefield的width问题 ExtJS中如何给Label添加click事件 自己的工具箱(Toolkit)
通过C#使用googleAPI
lwjacky · 2011-01-18 · via 博客园 - lwjacky

·                          准备工作

要使用googleAPI 来开发自己的桌面应用程序,先要做下面的准备工作:

1. 首先在下面地址http://www.google.com/apis/download.html下载the Google Web APIs Developer's Kit。

2. 然后在下面地址https://www.google.com/accounts/NewAccount?continue=http://api.google.com/createkey&followup=http://api.google.com/createkey注册一个 license key 以使用google提供的搜索服务。

·                          新建一个Google Search应用程序

1.        新建一个Windows From 项目命名为Google Search。

2.        添加Web引用,以便使用google web services。具体做法是将下载的the Google Web APIs Developer's Kit中的GoogleSearch.wsdl文件放入本地的服务器上,然后在VS中右键点击资源管理器中的引用,再选择添加Web引用,然后输入GoogleSearch.wsdl文件在本机服务器上的地址http://localhost/GoogleSearch.wsdl,更改Web引用名为GoogleSearch后,点击添加引用后返回。

3.        进行界面设计,添加3个控件,TextBox(用于输入关键字),Button(用于提交信息),RichTextBox(用于显示搜索结果信息)。

4.        编写事件处理。

1)        添加命名空间。using Google_Search.googlesearch;

2)        双击Button控件,在Button的事件处理中添加下面的代码:

           try
             {
                 GoogleSearchService s = new GoogleSearchService();    //建立一个搜索服务。
                 GoogleSearchResult r = s.doGoogleSearch("NGYfW7dQFHKshnXPwvctLsaipk03YK2x", textBox1.Text, 0, 10, true, "", true, "", "", "");        //使用doGoogleSearch方法取得搜索结果。
                 ResultElement[] re = r.resultElements;          //将结果传入一个ResultElement数组。
                 foreach (ResultElement n in re)
                 {
                     richTextBox1.AppendText(n.title+"\r");            //显示标题。
                     richTextBox1.AppendText(n.snippet+"\r");    //显示包含关键字摘要信息。
                     richTextBox1.AppendText(n.URL);                 //显示网页地址。
                     richTextBox1.AppendText("\n\r\r");
                 }
             }

             catch(Exception ee)
             {
                 MessageBox.Show(ee.Message);
             }

3)         按ctrl+F5就能测试应用程序了。

GoogleSearchServices类doGoogleSearch方法

     需要进行搜索先建立一个GoogleSearchServices 类的对象,然后调用doGoogleSearch方法取得信息。下面是google提供的对该方法的描述。

public doGoogleSearch(string key, string q, int start, int maxResults, bool filter, string restrict, bool safeSearch, string lr, string ie, string oe)

下面对各个参数进行介绍:

Key:这是由google提供的一个认证用的ID,可以在http://www.google.com/apis/申请。由于目前是测试阶段,每个ID一天只提供1000次的搜索服务请求。

q:这个就是要搜索的关键字。string类型

start:结果开始的索引数,从0开始。 int 类型

maxresults:返回的结果数的最大值,最大为10。int 类型

filter:用于标识是否对搜索的结果进行过滤,所进行的过滤是对于同一主机上的内容只返回1—2个结果。bool类型

restrict:用于限定搜索的国家或地区,如果为空,表示不限制。string 类型。

下表将列出所有能选的代号。

safeSearch:使用一个bool值表示是否过滤垃圾信息。

lr:对语言的限制,string类型。

ie:输入所使用的字符编码。这个参数将被忽略,所有的输入都将采用UTF-8。

oe:输出所使用的字符编码。这个参数将被忽略,所有的输出都将采用UTF-8

通过对这个方法的各个参数的设定可以是自己的应用程序在搜索方面更加人性化。具体使用时可以通过各种控件来收集这些信息。


l          GoogleSearchResult类

这个类用于存储搜索结果,下面介绍这个类的一些重要属性:

1.          estimatedTotalResultsCount 所有与关键字有关的信息的总数。

2.          searchTime 提交信息到返回信息所用的时间。

3.          searchTips 根据关键字提供一些与关键字相关的关键字,供选择。

4.          resultElements 返回一个数组,用于存储返回结果的每一项。

l        Result Element类

这个类的是搜索的结果中的每一项,所有的结果处理都依靠这个类。下面是这个类的一些属性的介绍:

1.          URL 显示结果网页的url。

2.          snippet 返回在目标网页中摘录一些包含关键字片段。

3.          title   目标网页的标题。

4.          hostname 该参数显示目标网页所在的主机明。

5.          summary 如果目标网页在ODP 目录中存在,则返回摘要信息。

6.          directoryTitle 显示ODP 目录的标题。

通过这两个类可以取得各种与查询有关的信息,通过以上的介绍,基本可以使用googleAPI提供的全部功能。