【问题标题】:Flickr API returning duplicate photosFlickr API 返回重复的照片
【发布时间】:2010-12-31 22:19:57
【问题描述】:

我在使用 flickr API 时遇到了一个令人困惑的问题。

当我进行照片搜索 (flickr.photos.search) 并请求高页码时,我 经常会为不同的页码返回重复的照片。 这是三个 URL,它们应该分别返回三组不同的图像, 然而,他们 - 奇怪地 - 返回相同的图像:

http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=ca3035f67faa0fcc72b74cf6e396e6a7&tags=gizmo&tag_mode=all&per_page=3&page=6820
http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=ca3035f67faa0fcc72b74cf6e396e6a7&tags=gizmo&tag_mode=all&per_page=3&page=6821
http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=ca3035f67faa0fcc72b74cf6e396e6a7&tags=gizmo&tag_mode=all&per_page=3&page=6822

还有其他人遇到过这个吗? 我似乎可以在任何标签搜索中重新创建它。

干杯。

【问题讨论】:

  • 看来,每当页码高于 1333 时,我就开始收到重复的结果。有趣的是,API 声明有 22311 张照片或 7444 个页面。

标签: flickr


【解决方案1】:

经过进一步调查,API 中似乎有一个未记录的“功能”,它永远不允许您从 flickr.photos.search 返回超过 4000 张照片。

因此,虽然有 7444 个页面可用,但它只会让您加载前 1333 个页面。

【讨论】:

  • 我也遇到了同样的问题。很烦人,我只能访问 500 多张照片。
  • 我也遇到过这个问题:(
  • 为什么说“它只会让你加载第一个1333”,而在上一段中,你说限制是4000?
  • 对此有任何更新或更多信息吗?我现在已经浏览了 30 页,共 500 页,并且不断收到重复的内容。我返回了 85,763 张照片,但其中只有 4280 张是独一无二的。根据 JSON,应该有 >500,000 个唯一的。您是否在文档中找到了这些信息?
  • 抱歉挖掘了一个旧帖子,但我也有同样的问题。您是如何找到这个未编码的功能的?有没有人成功地找到解决方法?
【解决方案2】:

可以从 flickr 检索超过 4000 张图像;您的查询必须按(例如)时间范围进行分页,以便该查询的图像总数不超过 4000。您还可以使用其他参数(例如边界框)来限制响应中的图像总数。

例如,如果您使用标签“狗”进行搜索,您可以执行以下操作(在时间范围内进行二分搜索):

  1. 在请求 URL 中指定最小日期和最大日期,例如 1990 年 1 月 1 日和 2015 年 1 月 1 日。
  2. 检查响应中的图像总数。如果超过 4000,则将时间范围一分为二,并在前半部分工作,直到从查询中获得少于 4000 个图像。获得该信息后,请求该时间范围内的所有页面,然后进入下一个时间间隔并执行相同操作,直到 (a) 满足所需图像的数量 (b) 在初始时间间隔内搜索到所有页面。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-05
    • 2011-04-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多