IMDbPY获得电影明星

时间:2016-08-20 23:16:51

标签: python movie imdb 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是神父的明星

1 个答案:

答案 0 :(得分:3)

正如评论中所述,IMDb不知道“明星”的概念,但它确实知道演员阵容中的“顶级演员”。

这可能是基于电影的学分,但即使是IMDb也说仅为某些电影收费

演员表的排序完全取决于电影以及谁在IMDb上验证数据。如果它显示“信用额度”,这意味着“按照它们在电影信用中引入的顺序”,,信用排序可能是一些任意的顺序,电影导演感觉就像放置它们in。

例如,有些电影说“并且介绍......(某些演员没有人知道)”或者像电视节目那样说“特邀嘉宾明星......(大多数人认识的人)”。在这两种情况下,这些都是在引入整个常规演员之前/之后。

所以,如果你想要一部给定电影的前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