2016-10-30 6 views
0

У меня есть базовый код из библиотеки Imgur в Python; в основном это просто поиск в галерее с просьбой посмотреть фото «Собака» в галерее Imgur, но мне нужен только один результат; первый, но я не могу этого сделать, потому что, когда я использую индексирование для этого, я получаю сообщение об ошибке.Python - отображать только определенное количество результатов из запроса в API Imgur

TypeError: 'Gallery_album' object does not support indexing

Это код, у меня есть; это только базовый код

imgur = pyimgur.Imgur(client_id, client_secret) 

items = imgur.search_gallery('dog') 

for item in items: 
    print(item[0].link) 

мне интересно, если это то, как ведет себя API, или я могу сделать что-то еще, чтобы просто получить один результат? По умолчанию я получаю 20 результатов, и я не хочу этого. Спасибо за любую помощь.

ответ

0

Ознакомиться с методом gallery_search (https://github.com/Imgur/imgurpython/blob/master/imgurpython/client.py), кажется, возвращает результат поиска в виде списка для данной страницы (который содержит это x число результатов GalleryImage/GalleryAlbum).

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

res = [ item for item in imgur.search_gallery('dog') if isinstance(item, GalleryImage) ] 

if res: 
    link = res[0].link 
+0

Именно то, что я искал; Я просто удалил 'if isinstance (item, GalleryImage)' и он работал. Благодаря! – Aguxez