IMDbPY 获得电影明星
IMDbPY get the stars of a movie
我是这样得到电影演员表的:
#!/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']
然而,这给了所有 演员,我正在寻找电影的 明星。例如,阿尔帕西诺是教父中的明星
正如评论中所述,IMDb 不知道 "star" 的概念,但它确实知道演员阵容中的 "top actors"。
这可能是基于电影的演职员表,但即使是 IMDb 也说 只对某些电影先收费。
演员顺序完全取决于电影以及谁在 IMDb 上验证数据。如果显示 "credits order",则表示 "in the order they were introduced in the film credits",,但 ,片尾顺序可能是电影导演想要放置的任意顺序。
例如,有些电影说 "And introducing... (some actor no one knows about)" 或像电视节目说 "Special Guest Star... (someone most people recognize)"。在这两种情况下,都是在引入整个常规演员表之前/之后。
所以,如果你想要某部电影的前 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
我是这样得到电影演员表的:
#!/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']
然而,这给了所有 演员,我正在寻找电影的 明星。例如,阿尔帕西诺是教父中的明星
正如评论中所述,IMDb 不知道 "star" 的概念,但它确实知道演员阵容中的 "top actors"。
这可能是基于电影的演职员表,但即使是 IMDb 也说 只对某些电影先收费。
演员顺序完全取决于电影以及谁在 IMDb 上验证数据。如果显示 "credits order",则表示 "in the order they were introduced in the film credits",,但 ,片尾顺序可能是电影导演想要放置的任意顺序。
例如,有些电影说 "And introducing... (some actor no one knows about)" 或像电视节目说 "Special Guest Star... (someone most people recognize)"。在这两种情况下,都是在引入整个常规演员表之前/之后。
所以,如果你想要某部电影的前 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