2016-07-29 70 views

回答

0

如果Bing图片搜索API在offset值大于可用结果数量时停止返回结果将会很好,但这不是API的工作原理。如果你看一下Image Search API Reference,用户有望从第一个请求检查totalEstimatedMatches参数,并确保该offset值使得后续请求之前有一个可接受值:

偏移量应小于(totalEstimatedMatches - 计数)。

因此,如果您执行此检查,您可以决定何时停止提出新请求。如果offset超过了结果的数量,它看起来像API只是返回最后的count结果,这可以解释您得到的“重复结果”。

+0

KYT,这似乎不是答案。首先,总体评估是完全不可靠的。对于每个连续的结果页面,值可能会发生很大的变化。其次,我已经看到,即使重复的结果占优势后面的页面,新的结果仍然不时出现。例如,第10页可能有29个重复项和一个新项目,则第11页可能有25个重复项和5个新项目。似乎无法知道何时达到了不同的结果。 –

+0

P.S.视频和图像搜索结果包含一个属性“nextOffsetAddCount”(v7更改为“nextOffset”并稍微改变了含义)。此字段的目的是消除欺骗。但是,它似乎不适用于网页搜索。 –

+0

@ElroyFlynn问题的海报关注浪费api电话。避免浪费API调用的唯一方法是检查totalEstimatedMatches,不管它有多少变化,它仍然是用来决定是否再次调用的值。这是避免浪费API调用的唯一解决方案,并且直接来自文档。 nextOffsetAddCount用于在分页时消除重复项(您描述的情况,也不能可靠地执行此操作),但在偏移量超过可用结果数时不会防止浪费api调用。 – KYT