Python flickrapi search.photos returns 每页相同的图片
Python flickrapi search.photos returns the same picture on every page
我正在为 python 测试 flickrapi 并且有一些随机选择中国食物图片的代码。它通过在 1 个页面上获取 1 个结果并使用该结果中的总页数在 1 个随机页面上选择 1 个结果来实现此目的。这是我用来获取图像的代码:
flickr = flickrapi.FlickrAPI(api_key='mykey', secret='mysecret', format='parsed-json', cache=False)
data1 = flickr.photos.search(tags='Chinese Food',
page=1,
per_page=1,
tag_mode='all',
media='photos',
content_type=1)
data2 = flickr.photos.search(tags='Chinese Food',
page=randint(1, data1['photos']['pages']),
per_page=1,
tag_mode='all',
media='photos',
content_type=1,
extras='url_l')
无论我做什么,data2
中的结果 总是 与 data1
中返回的完全相同的图像,我可以从页面获得第一个结果1 和第 3472 页的第一个结果,图像每次都完全一样。
这是返回数据的示例
//From data1
{'photos': {'page': 1, 'pages': 70007, 'perpage': 1, 'total': '70007', 'photo': [{'id': '35800805325', 'owner': '24171591@N06', 'secret': '408928a034', 'server': '4261', 'farm': 5, 'title': 'Personalized Maple Wood Chopsticks', 'ispublic': 1, 'isfriend': 0, 'isfamily': 0}]}, 'stat': 'ok'}
//From data2
{'photos': {'page': 41043, 'pages': 70007, 'perpage': 1, 'total': '70007', 'photo': [{'id': '35800805325', 'owner': '24171591@N06', 'secret': '408928a034', 'server': '4261', 'farm': 5, 'title': 'Personalized Maple Wood Chopsticks', 'ispublic': 1, 'isfriend': 0, 'isfamily': 0, 'url_l': 'https://farm5.staticflickr.com/4261/35800805325_408928a034_b.jpg', 'height_l': '859', 'width_l': '1024'}]}, 'stat': 'ok'}
注意两组数据中的id
和title
完全一样,页码不同。我已经在 Flickr API explorer
中使用完全相同的参数对此进行了测试,当我指定 page 1
时我确实得到了相同的图像,但如果我指定任何其他页面,我也会得到完全不同的图像,所以这看起来可能是 python flickrapi
实现或其依赖项之一的问题?
我似乎找不到问题所在。这是怎么回事?
看起来其他人自 2011 年以来就一直在使用 Flickr 的 API 遇到此问题,但仍未解决。因此,它似乎与 Python 或 Python Flickr 模块无关。我能够通过增加每页的结果数量来改进 "randomness",这是我不想做的事情,但这是唯一有效的方法。
我正在为 python 测试 flickrapi 并且有一些随机选择中国食物图片的代码。它通过在 1 个页面上获取 1 个结果并使用该结果中的总页数在 1 个随机页面上选择 1 个结果来实现此目的。这是我用来获取图像的代码:
flickr = flickrapi.FlickrAPI(api_key='mykey', secret='mysecret', format='parsed-json', cache=False)
data1 = flickr.photos.search(tags='Chinese Food',
page=1,
per_page=1,
tag_mode='all',
media='photos',
content_type=1)
data2 = flickr.photos.search(tags='Chinese Food',
page=randint(1, data1['photos']['pages']),
per_page=1,
tag_mode='all',
media='photos',
content_type=1,
extras='url_l')
无论我做什么,data2
中的结果 总是 与 data1
中返回的完全相同的图像,我可以从页面获得第一个结果1 和第 3472 页的第一个结果,图像每次都完全一样。
这是返回数据的示例
//From data1
{'photos': {'page': 1, 'pages': 70007, 'perpage': 1, 'total': '70007', 'photo': [{'id': '35800805325', 'owner': '24171591@N06', 'secret': '408928a034', 'server': '4261', 'farm': 5, 'title': 'Personalized Maple Wood Chopsticks', 'ispublic': 1, 'isfriend': 0, 'isfamily': 0}]}, 'stat': 'ok'}
//From data2
{'photos': {'page': 41043, 'pages': 70007, 'perpage': 1, 'total': '70007', 'photo': [{'id': '35800805325', 'owner': '24171591@N06', 'secret': '408928a034', 'server': '4261', 'farm': 5, 'title': 'Personalized Maple Wood Chopsticks', 'ispublic': 1, 'isfriend': 0, 'isfamily': 0, 'url_l': 'https://farm5.staticflickr.com/4261/35800805325_408928a034_b.jpg', 'height_l': '859', 'width_l': '1024'}]}, 'stat': 'ok'}
注意两组数据中的id
和title
完全一样,页码不同。我已经在 Flickr API explorer
中使用完全相同的参数对此进行了测试,当我指定 page 1
时我确实得到了相同的图像,但如果我指定任何其他页面,我也会得到完全不同的图像,所以这看起来可能是 python flickrapi
实现或其依赖项之一的问题?
我似乎找不到问题所在。这是怎么回事?
看起来其他人自 2011 年以来就一直在使用 Flickr 的 API 遇到此问题,但仍未解决。因此,它似乎与 Python 或 Python Flickr 模块无关。我能够通过增加每页的结果数量来改进 "randomness",这是我不想做的事情,但这是唯一有效的方法。