FlickrApi 异常:调用 photo.getSizes() 时找不到照片

2 投票
1 回答
536 浏览
提问于 2025-04-17 13:17

我在下面的代码中遇到了一个错误: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就不知道该怎么处理了。

撰写回答