FlickrApi 异常:调用 photo.getSizes() 时找不到照片
我在下面的代码中遇到了一个错误:flickrapi.exceptions.FlickrError: Error: 1: Photo not found
,这个错误发生在这一行:
sizes_element = self.flickr.photos_getSizes(k_id = id)
不过,我觉得我传入的photo_id
是正确的。
import flickrapi
class FlickrDownloader():
def __init__(self,key,secret):
self.api_key = key
self.secret = secret
self.flickr = flickrapi.FlickrAPI(self.api_key,self.secret)
def getUrls(self):
self.photos = self.flickr
self.urlList = []
#get a list of photos
photo_element = self.flickr.photos_search(tags = 'flowers',per_page = '10')
#get and iterator over elements
photo_iter = photo_element.iter('photo')
self.i = 0
for photo in photo_iter:
#get the photo id
id = photo.attrib['id']
print id
#get the different sizes of photo
sizes_element = self.flickr.photos_getSizes(k_id = id)
#get an interator
sizes_iter = sizes_element.iter('size')
#iterate over the sizes
for size in sizes_iter:
#check if its original size
if size.attrib['label'] == 'Original':
self.urlList.append(size.attrib['source'])
return self.urlList
1 个回答
4
flickr.photos.getSizes这个调用不需要k_id
这个参数。你可以查看Flickr的文档,里面说明你需要用photo_id
这个参数来传递照片的ID。如果参数名称不对,Flickr就不知道该怎么处理了。