【问题标题】:Google not returning more than 64 results谷歌返回的结果不超过 64 个
【发布时间】:2010-08-19 11:09:17
【问题描述】:

我正在使用 Google API for .Net http://code.google.com/p/google-api-for-dotnet/ 而且无论我向 Google 请求多少结果,返回的结果永远不会超过 64。

这是我的代码 sn-p:

GwebSearchClient client = new GwebSearchClient("xyz");
IList<IWebResult> results = client.Search(this.SearchText.Text, 100);

我预计会得到 100 个结果,但无论使用什么搜索词,都不会超过 64 个。

有什么想法吗?

【问题讨论】:

    标签: google-api google-api-dotnet-client


    【解决方案1】:

    根据 Google AJAX 搜索 API(它使用与 .NET API 相同的对 Google 服务器的 HTTP 请求)返回的最大结果为 64。

    注意:结果页面的最大数量取决于搜索者的类型。本地搜索支持 4 个页面(或总共最多 32 个结果),其他搜索器(博客、书籍、图像、新闻、专利、视频和 Web)支持 8 个页面(最多总共 64 个结果)。

    here,向上滚动两行。或者在页面中搜索“最大数量”。

    【讨论】:

      【解决方案2】:

      总是有解析html的选项:
      我需要大约 200,000,000(或至少 24M)个结果,并且由于 API 没有削减它,我决定下载 html 结果并使用正则表达式手动解析它们。使用 HashTables,我能够消除任何重复。

      我的正则表达式:
      (仅解析具有给定域的 URL,并包含具有 3-20 个字母数字字符的子域)

      @"((?!www)([A-Za-z0-9-]{3,20})(\.example\.com))"
      

      使用的 HTML URL:

      [C# Source]
      String.Format(  "http://www.google.com/search?q=site:{0}&num={1}"+
                      "&hl=en&tbo=d&as_qdr=all&start={2}&sa=N&biw=1280&bih=709", 
                      "example.com", count, start)
      

      这已经在我自己的应用程序中进行了测试,并产生了相当不错的结果!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-04-15
        • 1970-01-01
        • 1970-01-01
        • 2012-04-10
        • 2018-08-13
        • 2013-07-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多