【发布时间】:2017-07-08 21:47:03
【问题描述】:
我正在为 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 实现或其依赖项之一?
我似乎找不到问题所在。怎么回事?
【问题讨论】:
标签: python-3.x python-requests flickr urllib3