gpt4 book ai didi

python flickr api用于组搜索并获取图像数据集

转载 作者:行者123 更新时间:2023-11-30 23:12:50 26 4
gpt4 key购买 nike

是否有任何 python flickr api,我可以在其中点击组 url 并获取所有最新的图像数据?

我有一个像这样的网址:

https://www.flickr.com/groups/caterpillarequipment/

我想获取所有最新的图像数据集。我尝试使用 flickrapi lib 来做到这一点,但到目前为止能够找出任何方法。我是 flickr api 的新手,不知道如何获取这些数据。

最佳答案

如果您想获取群组池的所有信息,请使用 flickr.groups.pools.getPhotos API 调用,如下所示:

import flickrapi
from pprint import pprint

api_key = 'your api key'
secret = 'your secret key'
flickr = flickrapi.FlickrAPI(api_key, secret, format='parsed-json')

group_id = '544735@N20' # caterpillarequipment's group_id
response = flickr.groups.pools.getPhotos(group_id=group_id, per_page=3)
pprint(response)
{u'photos': {u'page': 1,
u'pages': 1033,
u'perpage': 3,
u'photo': [{u'dateadded': u'1428715622',
u'farm': 8,
u'id': u'16912446348',
u'isfamily': 0,
u'isfriend': 0,
u'ispublic': 1,
u'owner': u'71639059@N00',
u'ownername': u'ocrr4204',
u'secret': u'311b63f966',
u'server': u'7685',
u'title': u'Dufresne Construction 146 a CAT D7H bulldozer Ottawa, Ontario Canada 04252007 \xa9Ian A. McCord'},
{u'dateadded': u'1428713719',
u'farm': 8,
u'id': u'16896411327',
u'isfamily': 0,
u'isfriend': 0,
u'ispublic': 1,
u'owner': u'62532775@N03',
u'ownername': u'Jibup',
u'secret': u'76dc9110ed',
u'server': u'7695',
u'title': u'Caterpillar'},
{u'dateadded': u'1428554028',
u'farm': 8,
u'id': u'17058845816',
u'isfamily': 0,
u'isfriend': 0,
u'ispublic': 1,
u'owner': u'73369431@N07',
u'ownername': u'Stephen Ball Photography',
u'secret': u'607f522144',
u'server': u'7705',
u'title': u'One Up One Down'}],
u'total': u'3097'},
u'stat': u'ok'}

出于演示目的,我使用了较小的页面大小 3 - 默认值为 100,最大值为 500。这意味着您需要多次调用该服务才能检索所有照片。你可以像这样循环:

group_pool_photos = []
group_id = '544735@N20' # caterpillarequipment's group_id
page = 1
success = True
while True:
response = flickr.groups.pools.getPhotos(group_id=group_id, page=page)
if response['stat'] != 'ok':
print 'Error occurred in flickr.groups.pools.getPhotos'
pprint(response)
success = False
break

if len(response['photos']['photo']) == 0:
break

group_pool_photos.extend(response['photos']['photo'])
page += 1

if success:
print 'Info for all pool photos successfully retrieved. Total photos {}'.format(len(group_pool_photos))

在此 group_pool_photos 的末尾应包含所有照片信息。

注意由于在检索过程中添加或删除照片,池可能会发生变化,因此您可能需要尝试通过比较连续响应中的总数来检测这一点。

关于python flickr api用于组搜索并获取图像数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29651576/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com