2008-11-09 13 views
6

IMDbPy का उपयोग करते हुए यह दर्दनाक IMDB साइट से पहुँच फिल्मों के लिए आसान है:आईएमडीबीपी का उपयोग करके आप मूवी का थंबनेल कैसे प्राप्त करते हैं?

import imdb 

access = imdb.IMDb() 
movie = access.get_movie(3242) # random ID 

print "title: %s year: %s" % (movie['title'], movie['year']) 

हालांकि मैं चित्र या फिल्म कवर के थंबनेल प्राप्त करने के लिए कोई रास्ता नहीं देखते हैं। सुझाव?

उत्तर

10

नोट:

  • हर फिल्म एक कवर url है। (आपके उदाहरण में यादृच्छिक आईडी नहीं है।)
  • सुनिश्चित करें कि आप IMDbPy का एक अद्यतित संस्करण उपयोग कर रहे हैं। (आईएमडीबी बदलता है, और 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'] 

किसी कारण से आप ऊपर उपयोग नहीं कर सकते, तो आप हमेशा कवर यूआरएल पाने के लिए 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' फिल्म में: ...

उसके बाद, आप लाने के लिए 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). 

उसी तरह, एक व्यक्ति के हेडशॉट व्यक्ति [ 'हेडशॉट'] में संग्रहित है।

हालात से अवगत होना:

  • कवर और headshots के सादे पाठ में केवल ('http' या 'मोबाइल' डेटा का उपयोग सिस्टम के माध्यम से) वेब सर्वर से डेटा प्राप्त करने में उपलब्ध हैं, और नहीं डेटा फाइलें ('एसक्यूएल' या 'लोकल')।
  • छवियों का उपयोग करके, आपको आईएमडीबी की नीति की शर्तों का सम्मान करना होगा; http://imdbpy.sourceforge.net/docs/DISCLAIMER.txt
  • छवियां जो आपको मिलेंगी वे आकार में भिन्न होंगी; यदि आवश्यक हो तो आप उन्हें पुन: सहेजने के लिए पायथन-इमेजिंग मॉड्यूल का उपयोग कर सकते हैं।
+1

'कवर url' फिल्म में मेरे लिए झूठी यहां तक ​​कि अपने वहाँ अगर देता है। – Sam