1

我使用下面的代码来获取特定电影的导演姓名。我怎样才能得到导演导演的所有电影的列表。在这种情况下,我选择了《星际穿越》,而我得到的导演将是克里斯托弗·诺兰。那么如何才能列出他导演的所有电影呢?

from imdb import IMDb
ia = IMDb()

movie = ia.get_movie('0816692')
print "Name of the movie: ", movie
for i in movie['director']:
    print "Director: ", i
    for k in ia.search_person(str(i))[:1]:
        print k.personID
4

1 回答 1

1

您可以使用get_person以导演 id 作为参数的方法,并通过使用 key 访问 person 对象来查找他导演的电影的名称director movie

from imdb import IMDb
ia = IMDb()

movie = ia.get_movie('0816692')
print "Name of the movie: ", movie
for i in movie['director']:
    print "Director: ", i
    for k in ia.search_person(str(i))[:1]:
        director = ia.get_person(k.personID)
        print "Movies directed by %s" % director
        print "-------------------------------"
        for movie_name in director['director movie']:
            print movie_name

更新


我对库进行了一些尝试,发现了一种更简单的方法来解决您的问题,而无需嵌套 for 循环:

from imdb import IMDb
ia = IMDb()

movie = ia.get_movie('0816692')
print "Name of the movie: ", movie
for i in movie['director']:
    print "Director: ", i
    director = ia.search_person(i["name"])[0]
    ia.update(director)
    print "Movies directed by %s:" % director
    for movie_name in director["director movie"]:
        print movie_name
于 2015-04-15T06:31:42.463 回答