Google Search API - 结果数量

时间:2010-11-20 07:19:26

标签: google-search-api

每当您执行Google搜索时,它都会泄露这一小段信息

“大约8,110,000个结果(0.10秒)”

我正在使用某些术语返回的结果数量来相互排名,所以如果我能通过API得到这个整数 - 8,110,000,那将非常有帮助。最近有些Google API被弃用了,所以如果你能指出我没有弃用的那个,那将非常有帮助。

任何其他解决方法也将非常感谢。我看过一两篇关于类似主题的老帖子,但似乎都没有成功解决。

1 个答案:

答案 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();
                }

            }
        }
    }
}