每当您执行 Google 搜索时,它都会吐出一小段信息
“大约 8,110,000 个结果(0.10 秒)”
我正在使用某些术语返回的结果数量来对它们进行排名,因此如果我可以通过 API 获得这个整数 - 8,110,000,那将非常有帮助。一些 Google API 最近已被弃用,因此如果您能指出我未弃用的正确 API,那将非常有帮助。
任何其他解决方法也将不胜感激。我看过一两个关于类似主题的旧帖子,但似乎没有一个成功解决。
最佳答案
使用 Bing 而不是 Google 完成,代码如下:
string baseURL = "http://api.search.live.net/xml.aspx?Appid=<MyAppID>&query=%22" + name + "%22&sources=web";
WebClient c = new WebClient();
c.DownloadStringAsync(new Uri(baseURL));
c.DownloadStringCompleted += new DownloadStringCompletedEventHandler(findTotalResults);
这将调用 findTotalResults:
void findTotalResults(object sender, DownloadStringCompletedEventArgs e)
{
lock (this)
{
string s = e.Result;
XmlReader reader = XmlReader.Create(new MemoryStream(System.Text.UTF8Encoding.UTF8.GetBytes(s)));
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element)
{
if (reader.Name.Equals("web:Total"))
{
gResults = reader.ReadInnerXml();
}
}
}
}
}
关于google-search-api - Google Search API - 结果数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4231663/