2008-11-09 5 views

답변

10

참고 :

  • 는 아니 모든 영화는 커버 URL을 가지고있다. (예제의 임의 ID는 그렇지 않습니다.)
  • IMDbPy의 최신 버전을 사용하고 있는지 확인하십시오. (IMDB는 그것으로 변경하고, IMDbPy.)

...

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'] 

어떤 이유로 위를 사용할 수없는 경우, 당신은 항상 커버 URL을 얻을 BeautifulSoup로 같은 것을 사용할 수 있습니다 . IMDbPy 메일 링리스트에서

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 
2

응답 :

존재하는 경우 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). 

을, 사람의 얼굴 는 사람 [ '얼굴']에 저장됩니다.

상황이 알고 있어야합니다 :

  • 커버와 헤드 샷은 일반 텍스트 만합니다 ('HTTP'또는 '모바일'데이터 액세스 시스템을 통해) 웹 서버에서 데이터를 가져 오는 사용할 수 있으며,하지 데이터 파일 ('sql'또는 'local').
  • 이미지를 사용하는 경우 IMDb 정책의 조항을 준수해야합니다. http://imdbpy.sourceforge.net/docs/DISCLAIMER.txt
  • 이미지는 크기가 다양합니다. 필요한 경우 파이썬 이미징 모듈을 사용하여 크기를 조정할 수 있습니다.
+1

영화의 'cover url'은 저에게도 false를 반환합니다. – Sam