簡體   English   中英

獲取導演導演的電影列表 - IMDbPY

[英]Get list of movies directed by director- IMDbPY

我使用下面的代碼來獲取特定電影的導演姓名。 我怎樣才能得到導演執導的所有電影的列表。 在這種情況下,我選擇了《星際穿越》,我得到的導演將是克里斯托弗諾蘭。 那么我怎樣才能列出他導演的所有電影呢?

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

您可以使用帶有導演ID的get_person方法作為參數,並通過使用關鍵director movie來訪問person對象來查找他導演的電影的名稱:

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

我們在 2022 年,我嘗試了您的代碼@halex,但它不再起作用了。 這就是為什么我找到一種新方法:

def get_director_id(mv_id):

ia = imdb.IMDb()

movie= ia.get_movie(mv_id)
dict_directors={}
directors= movie['director']

for dir in directors:
    dict_directors[dir]= dir.personID

return(dict_directors)
    





def get_director_movie(nb, dir_id):

ia = imdb.IMDb()

dict_mv={}
dir_info= ia.get_person_filmography(dir_id)
tmp= dir_info['data']['filmography']['director']
for i in range(len(tmp)-1, len(tmp)-nb-1, -1):
    title= str(dir_info['data']['filmography']['director'][i])
    print(title)
    id= dir_info['data']['filmography']['director'][i].movieID
    print(id)
    dict_mv[title]= id
return(dict_mv)

dict= get_director_movie(3, "0905154")
titles= list(dict.keys())
id= list(dict.values())

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM