2011-06-23 24 views

回答

3

一种可能性是建立一个custom Google search engine。然后您还需要创建一个开发人员密钥,我相信这是在the console下完成的。

设定介绍后,你可以用代码REST风格的调用,如下面,其检索结果作为JSON:

WebClient w = new WebClient(); 

string result; 
string uri; 
string googleAPIKey = "your developer key"; 
string googleEngineID = "your search engine id"; 
string template = "https://www.googleapis.com/customsearch/v1?key={0}&cx={1}&q={2}&start={3}&alt=json"; 
int startIndex = 1; 
int gathered = 0; 

uri = String.Format(template, googleAPIKey, googleEngineID, "yoursearchstring", startIndex); 
result = w.DownloadString(uri); 

对于提取的JSON结果的信息,您可以使用像Json.NET。它使得读取信息变得非常容易:

JObject o = JObject.Parse(result); 

然后,您可以用一行代码直接访问所需的信息。

一个重要的信息是搜索API免费使用非常有限(每天100个请求)。因此,对于真实世界的应用程序,可能需要为搜索付费。但取决于你如何使用它,每天可能有100个请求就足够了。我使用Google搜索API编写了一个小混搭来搜索感兴趣的Stackoverflow站点信息,然后使用StackExchange API来检索信息。为了个人使用,它工作得很好。

相关问题