每当您执行Google搜索时,它都会泄露这一小段信息
“大约8,110,000个结果(0.10秒)”
我正在使用某些术语返回的结果数量来相互排名,所以如果我能通过API得到这个整数 - 8,110,000,那将非常有帮助。最近有些Google API被弃用了,所以如果你能指出我没有弃用的那个,那将非常有帮助。
任何其他解决方法也将非常感谢。我看过一两篇关于类似主题的老帖子,但似乎都没有成功解决。
答案 0 :(得分:5)
使用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();
}
}
}
}
}