【问题标题】:Google Search API - Number of ResultsGoogle Search API - 结果数
【发布时间】:2010-11-20 07:19:25
【问题描述】:

每当您执行 Google 搜索时,它都会吐出这个小小的信息

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

我正在使用某些术语返回的结果数量来对它们进行相互排名,所以如果我可以通过 API 获得这个整数 - 8,110,000 - 这将非常有帮助。一些 Google API 最近已被弃用,所以如果您能指出正确的未被弃用的 API,那将非常有帮助。

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

【问题讨论】:

  • 很高兴看到谷歌解决方案:)
  • 我找不到显示结果总数的 Google API 或页面 - 当然您可以抓取网页而不是 API,但这通常是不受欢迎的,我的应用程序是电话,所以这将是资源密集型的。

标签: google-search-api


【解决方案1】:

使用 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();
                }

            }
        }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-29
    • 1970-01-01
    • 2013-07-20
    • 1970-01-01
    • 1970-01-01
    • 2016-07-26
    相关资源
    最近更新 更多