我正在尝试创建一个基于标签下载Flickr图像的脚本。我在网上发现了这样的脚本,但是它们不能工作,因为我的脚本无法访问Flickr函数。
import flickr_api
print(flickr_api.__version__)
api_key = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
api_secret = 'YYYYYYYYYYYYYYYYYYYYYYY'
flickr = flickr_api.FlickrAPI(api_key, api_secret)
photos = flickr.photos.search(user_id='73509078@N00', per_page='10')我得到的结果是:
0.6.1
AttributeError: module 'flickr_api' has no attribute 'FlickrAPI'我很困惑,因为API文档包含了几乎相同的代码(https://stuvel.eu/flickrapi-doc/2-calling.html )
不知何故,我的API安装错了吗?
我在Python方面非常精通,这是我第一次使用API,所以为一个基本的问题道歉!
发布于 2020-07-14 02:55:57
您的问题是“如何开始使用用于Python的Flickr?”
我使用的是PyPi中稍新的2.4版本,也是Stuvel的版本。你可以找到它,这里。在这个版本中,flickr和api之间没有下划线。
我帐户里的照片都不使用标签。相反,我将使用文本搜索。您应该看到下面的工作方式,并尝试一个标签搜索。
另外,我将返回解析的json,而不是xml的缺省值。这样做的好处是可以获得嵌套的dicts,这在Python中非常容易解析和循环。
下面是Spyder的作品-- Anaconda中的交互式外壳。这个未签名的电话显示了我的公开照片。你应该得到同样的结果。
import flickrapi
FLICKR_PUBLIC = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXX'
FLICKR_SECRET = 'XXXXXXXXXXXXXXX'
flickrapi.__version__
Out[4]: '2.4.0'
flickr = flickrapi.FlickrAPI(FLICKR_PUBLIC,FLICKR_SECRET,format='parsed-json')
MYSTUFF = "157919153@N05"
MyAtkinsons = flickr.photos.search(text="Atkinson",
user_id = MYSTUFF,
extras="description")
MyAtkinsons['photos']
Out[8]:
{'page': 1,
'pages': 1,
'perpage': 100,
'total': '7',
'photo': [{'id': '50109797342',
'owner': '157919153@N05',
'secret': 'a7d95d8c17',
'server': '65535',
'farm': 66,
'title': 'Atkinson, Everett W. and Olive E.',
'ispublic': 1,
'isfriend': 0,
'isfamily': 0,
'description': {'_content': 'Atkinson, Everett W. and Olive E.'}},
{'id': '50109558361',
'owner': '157919153@N05',
'secret': 'bd2eb4e88f',
'server': '65535',
'farm': 66,
'title': 'Atkinson, Jon Wesley',
'ispublic': 1,
'isfriend': 0,
'isfamily': 0,
'description': {'_content': 'Atkinson, Jon Wesley'}},
{'id': '46978210785',
'owner': '157919153@N05',
'secret': '299b85c928',
'server': '65535',
'farm': 66,
'title': '17azg7nf6jtz6',
'ispublic': 1,
'isfriend': 0,
'isfamily': 0,
'description': {'_content': 'Atkinson, Lawrence M.'}},
{'id': '47105017914',
'owner': '157919153@N05',
'secret': 'cfb49d8c5b',
'server': '65535',
'farm': 66,
'title': 'Atkinson, James L. and Florence',
'ispublic': 1,
'isfriend': 0,
'isfamily': 0,
'description': {'_content': 'Atkinson, James L. and Florence'}},
{'id': '47104538484',
'owner': '157919153@N05',
'secret': '7d52705223',
'server': '65535',
'farm': 66,
'title': '17bcqb9d4n66q',
'ispublic': 1,
'isfriend': 0,
'isfamily': 0,
'description': {'_content': 'Robbins, Vera M. Atkinson'}},
{'id': '47893343811',
'owner': '157919153@N05',
'secret': 'eed21d5a5c',
'server': '65535',
'farm': 66,
'title': '17be28jy5r95u',
'ispublic': 1,
'isfriend': 0,
'isfamily': 0,
'description': {'_content': 'Atkinson, Catherine M. and Lew H.'}},
{'id': '47086890614',
'owner': '157919153@N05',
'secret': '1e16987f8b',
'server': '65535',
'farm': 66,
'title': '17bds2q7ui24y',
'ispublic': 1,
'isfriend': 0,
'isfamily': 0,
'description': {'_content': 'Atkinson, James'}}]}我有七张阿金森斯的照片在我的帐户中,是公开的,从今天起。
如果需要标记,请将其添加到附加参数中。我只使用从“id”解析出来的照片的默认分辨率,所以我不请求附加参数中的URL。
https://stackoverflow.com/questions/49830718
复制相似问题