2017-01-30 2 views
1

Я пытался написать скрипт python для загрузки изображений flickr на основе ключевого слова ввода. Получая доступ к Flickr API я получил 2 способа получить изображения:Использование Flickr API для загрузки изображений - Python

flickr=flickrapi.FlickrAPI(api_key,api_secret,cache=True) 

def flickr_walk(keyward): 
    photos = flickr.walk(text=keyward, 
         tag_mode='all', 
         tags=keyward, 
         extras='url_c', 
         per_page=100) 

    for photo in photos: 
     try: 
      url=photo.get('url_c') 
      print(url) 

     except Exception as e: 
      print('failed to download image') 

В качестве альтернативы,

def flickr_search(keyward): 
    obj = flickr.photos.search(text=keyward, 
           tags=keyward, 
           extras='url_c', 
           per_page=5) 

    for photo in obj: 
     url=photo.get('url_c') 
     photos = ET.dump(obj) 
     print (photos) 

Однако, в любом случае имеет некоторые проблемы:

  1. некоторые (многие) изображения, собранные сделать не соответствует «клавишам» (например, «рука» ввода может привести к изображению горы). Результаты поиска не являются «точными».

  2. похоже, что загрузка изображения ограничена (per_page имеет максимальное значение 500). Но я хочу загружать изображения как можно больше.

Может ли кто-нибудь помочь мне решить, как исправить мои проблемы? Большое спасибо.

ответ

1

я решил первую проблему, добавив:

sort="relevance" 

в аргументах. Теперь изображения результатов гораздо более релевантны ключевым словам.

Смежные вопросы