【问题标题】:How to get number of search result from Bing API如何从 Bing API 获取搜索结果的数量
【发布时间】:2012-11-26 07:34:08
【问题描述】:

我想使用 bing search api 来获取给定查询的搜索结果计数,但是,Bing API 似乎不返回任何包含搜索结果计数的字段。

我应该指定一些选项来请求 URL 吗?还是 Bing API 不返回结果 countt?

【问题讨论】:

    标签: bing-api


    【解决方案1】:

    您可以获得结果计数,但它并不像我想象的那么明显。 使用此网址:

    https://api.datamarket.azure.com/Data.ashx/Bing/Search/v1/Composite?Sources=%27web%27&Query=%27YOUR_QUERY_HERE%27&$top=1&$format=JSON
    

    你可以得到一个JSON字符串,其中包含结果计数

    d->results[0]->WebTotal
    

    您需要为此使用复合搜索(我在此示例中仅指定了 web,但您可以使用 web+news 或任何其他 bing 源)并且您必须检索至少一个结果 ($top=1) .

    您也可以使用Atom 代替JSON 来获取xml 响应。

    【讨论】:

      【解决方案2】:

      对于那些订阅 SearchWeb 流而不是一般搜索的用户,URL 如下:

      https://api.datamarket.azure.com/Data.ashx/Bing/SearchWeb/v1/Composite?Query=%27YOUR_QUERY_HERE%27&$top=1&$format=JSON
      

      和王棠的回答一样,结果应该包括

      d->results[0]->WebTotal
      

      【讨论】:

      • 知道如何知道页数吗?因为搜索结果的数量是不可靠的。这通常是一种估计,向您显示的实际结果要少得多。我需要知道有多少页才能遍历它们,但我找不到任何方法。如果您有任何想法,请告诉我。
      • @user2192774,任何页数计数都是基于总估计结果的估计值。但是,结果的数量应该在您请求每个页面时更新,因此假设您按顺序请求页面,您应该能够知道您何时到达最后一个。
      • 网页搜索页面按钮中出现的页面链接是真实的。如果有 10 页,您可以浏览它们,您会在每一页中找到结果。但根据我自己的经验得出的结果总数总是被夸大了。
      【解决方案3】:

      您可以从结果对象中获取结果计数:

      results_object['searchResults']['webPages']['totalEstimatedMatches']
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-13
        • 1970-01-01
        • 2019-11-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多