2016-08-20 9 views
-2

я был в состоянии получить слепок фильма, как это:IMDbPY получить звезды кино

#!/usr/bin/env python 
import imdb 
ia = imdb.IMDb() 
s_result = ia.search_movie('The Untouchables') 
the_unt = s_result[0] 
print the_unt['cast'] 

Однако, что отдал все отливать, я ищу только звезды из фильм. например, al pacino является звездой в отце отца

+2

ли вы смотрите на другие атрибуты ' the_unt'? Вы действительно знаете, раскрывает ли IMDb эту информацию? – jonrsharpe

+0

@ jonrsharpe я, конечно, действительно, я напечатал все это, но я не видел звезд или связанных атрибутов. 'print the_unt.items()' –

+1

В терминах фильмов участники броска фактически являются звездами. Даже Аль Пачино должен был начать в каком-то неясном фильме. – Makoto

ответ

3

Как указано в комментариях, IMDb не знает понятия «звезда», но он несколько знает «лучших актеров» из литого состава.

Это, вероятно, основано на кредитах фильма, но даже IMDb говорит, что сначала выставил только для некоторых фильмов.

Заказ на литье полностью зависит от фильма и кто проверяет данные на IMDb. Если он говорит «заказ кредитов», это означает «в том порядке, в котором они были введены в фильмах», , но, кредитным заказом может быть какой-то произвольный заказ, который режиссер фильма хотел разместить в нем.

Например, в некоторых фильмах говорится: «И представление ... (о каком-то актере, о котором никто не знает)» или, как в телешоу, говорится: «Специальная звезда-гость ... (кто-то большинство людей узнает)». В обоих случаях это либо до, либо после того, как будет введен весь регулярный листинг.


Итак, если вы хотите 5 лучших актеров для данного фильма, вы могли бы сделать что-то вроде этого

import imdb 
ia = imdb.IMDb() 
search_results = ia.search_movie('The Godfather') 

if search_results: 
    movieID = search_results[0].movieID 
    movie = ia.get_movie(movieID) 
    if movie: 
     cast = movie.get('cast') 
     topActors = 5 
     for actor in cast[:topActors]: 
      print "{0} as {1}".format(actor['name'], actor.currentRole) 

Выход

Marlon Brando as Don Vito Corleone 
Al Pacino as Michael Corleone 
James Caan as Sonny Corleone 
Richard S. Castellano as Clemenza 
Robert Duvall as Tom Hagen 
+0

Что такое topActors? переменная? –

+0

Это целое число.Он четко объявлен в коде –

+0

после вашего обновления, я вижу, откуда вы знаете, что актеры организованы в соответствии с их важностью? –