我想使用 bing search api 来获取给定查询的搜索结果计数,但是,Bing API 似乎不返回任何包含搜索结果计数的字段。
我应该指定一些选项来请求 URL 吗?或者 Bing API 不返回结果计数?
我想使用 bing search api 来获取给定查询的搜索结果计数,但是,Bing API 似乎不返回任何包含搜索结果计数的字段。
我应该指定一些选项来请求 URL 吗?或者 Bing API 不返回结果计数?
您可以获得结果计数,但它并不像我想象的那么明显。使用此网址:
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 响应。
对于那些订阅 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
您可以从结果对象中获取结果计数:
results_object['searchResults']['webPages']['totalEstimatedMatches']