2016-07-29 61 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