попробуйте удалить оставленный пакет:
"phpoffice/phpexcel": "^1.8",
Примечание:
...
import imdb
access = imdb.IMDb()
movie = access.get_movie(1132626)
print "title: %s year: %s" % (movie['title'], movie['year'])
print "Cover url: %s" % movie['cover url']
Если по некоторым причинам Вы не можете использовать вышеупомянутое, можно всегда использовать что-то как BeautifulSoup для получения URL покрытия.
from BeautifulSoup import BeautifulSoup
import imdb
access = imdb.IMDb()
movie = access.get_movie(1132626)
page = urllib2.urlopen(access.get_imdbURL(movie))
soup = BeautifulSoup(page)
cover_div = soup.find(attrs={"class" : "photo"})
cover_url = (photo_div.find('img'))['src']
print "Cover url: %s" % cover_url
Ответ из списка рассылки IMDbPy:
Если существующий, URL доступен через фильм ['URL покрытия']. Остерегайтесь этого, это могло отсутствовать, таким образом, необходимо сначала протестировать его с чем-то как:
если 'URL покрытия' в фильме:...После этого можно использовать urllib модуль для выборки самого изображения.
Для обеспечения полного примера что-то как этот должно добиться цели:
import urllib from imdb import IMDb ia = IMDb(#yourParameters) movie = ia.get_movie(#theMovieID) if 'cover url' in movie: urlObj = urllib.urlopen(movie['cover url']) imageData = urlObj.read() urlObj.close() # now you can save imageData in a file (open it in binary mode).
Таким же образом headshot человека хранится лично ['headshot'].
Вещи знать:
- покрытия и headshots доступны только выборка данных из веб-сервера (через 'http' или 'мобильные' системы доступа к данным), а не в файлах данных простого текста ('sql' или 'локальны').
- с помощью изображений необходимо уважать условия политики IMDb; см. http://imdbpy.sourceforge.net/docs/DISCLAIMER.txt
- изображения, которые Вы получите, будут варьироваться по размеру; можно использовать отображающий Python модуль для перемасштабирования их в случае необходимости.