我正在尝试创建一个基于标签下载Flickr图像的脚本。我在网上找到了这样的脚本,但是由于我的脚本无法访问Flickr API函数,所以它们无法正常工作。
private void OnDisable ()
{
RawKeyInput.OnKeyUp -= HandleKeyUp;
RawKeyInput.OnKeyDown -= HandleKeyDown;
}
我得到的结果是:
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')
我很困惑,因为API文档几乎包含同一段代码(https://stuvel.eu/flickrapi-doc/2-calling.html)
我是否错误地安装了API?
API位于:C:\ Users \ Myname \ Anaconda3 \ Lib \ site-packages \ flickr_api
print(flickr_api。版本)会返回flickr_api的版本,所以看起来我的脚本至少可以找到该文件夹了吗?
我是Python中的笨蛋,这是我第一次使用API,因此对基本问题表示道歉!
答案 0 :(得分:0)
您的问题是“如何开始使用适用于Python的Flickr API?”
我正在Stuvel的PyPi中使用稍新的2.4版本。您可以找到它here。在此版本中,flickr和api之间没有下划线。
我帐户中的所有照片都没有使用标签。相反,我将使用文本搜索。您应该查看以下内容的工作原理,然后尝试标签搜索。
此外,我将返回解析的json而不是默认的xml。这样做的好处是可以获取嵌套的字典,这些字典在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'}}]}
我的帐户中有7张阿特金森照片,到今天为止都可以向公众开放。
如果需要标签,请将其添加到extras参数。我只是使用从'id'解析的照片的默认分辨率,所以我不需要在extras参数中请求URL。