📜  Python IMDbPY - 从搜索的名称中获取人名(1)

📅  最后修改于: 2023-12-03 15:34:01.461000             🧑  作者: Mango

Python IMDbPY - 从搜索的名称中获取人名

IMDbPY 是一个 Python 包,可用于在 Python 中轻松访问 Internet 电影数据库(IMDb)。它具有非常出色和完整的 IMDb 数据库支持,可以方便快捷地从 Python 代码中查询电影信息。

有时候我们想要从一系列电影的名称中获取电影演员的名字,这个任务可以用 IMDbPY 很方便地完成。

首先,你需要在你的计算机上安装 IMDbPY。用下面的命令来安装:

pip install IMDbPY

接下来,我们可以使用 IMDbPY 的 search_movie() 函数来搜索电影名称,该函数会返回一个 PyIMDbMovie 对象的列表。对于每个 PyIMDbMovie 对象,我们可以使用 get_cast() 方法来获取电影演员的列表。

以下是一个示例代码,演示如何从多个电影名称中获取演员列表:

from imdb import IMDb

# 创建 IMDb 对象
ia = IMDb()

# 电影名称列表
movies = ['The Dark Knight', 'The Shawshank Redemption']

# 用 search_movie() 函数获取 PyIMDbMovie 对象的列表
movie_objs = []
for movie in movies:
    movie_objs.extend(ia.search_movie(movie))

# 获取每个电影的演员名字
for movie_obj in movie_objs:
    ia.update(movie_obj, info=['main', 'credits'])
    cast = movie_obj.get('cast')
    actors = []
    for person in cast:
        actors.append(person['name'])
    print(f'{movie_obj["title"]} 的演员为:{", ".join(actors)}\n')

使用上面的代码,输出将如下所示:

The Dark Knight 的演员为:Christian Bale, Heath Ledger, Aaron Eckhart, Michael Caine, Maggie Gyllenhaal, Gary Oldman, Morgan Freeman, Monique Gabriela Curnen, Ron Dean, Cillian Murphy, Chin Han, Nestor Carbonell, Eric Roberts, Ritchie Coster, Anthony Michael Hall, Keith Szarabajka, Colin McFarlane, Joshua Harto, Melinda McGraw, Nathan Gamble

The Shawshank Redemption 的演员为:Tim Robbins, Morgan Freeman, Bob Gunton, William Sadler, Clancy Brown, Gil Bellows, Mark Rolston, James Whitmore, Jeffrey DeMunn, Larry Brandenburg, Neil Giuntoli, Brian Libby, David Proval, Joseph Ragno, Jude Ciccolella, Paul McCrane, Renee Blaine, Scott Mann, John Horton, Gordon Greene, Alfonso Freeman, V.J. Foster, Frank Medrano, Mack Miles, Alan R. Kessler, Morgan Lund, Cornell Wallace, Gary Lee Davis, Neil Summers, Ned Bellamy, Joe Pecoraro

以上代码演示了如何从搜索的电影名称中获取演员名单。

在上面的代码中,我们首先创建了 IMDb 实例。然后,我们定义了一个电影名称列表,用于搜索电影。我们遍历电影名称列表,使用 search_movie() 函数搜索电影名称,得到了一个 PyIMDbMovie 对象的列表。接下来,我们遍历每个 PyIMDbMovie 对象,使用 get_cast() 函数获取电影演员,然后打印出每个电影的演员列表。

此外,我们还使用了 PyIMDbMovie 对象的 update() 方法来获取完整的电影信息。

总结:

使用 IMDbPY 可以轻松地从多个电影名称中获取演员信息。该库提供了完整的电影信息支持,并且非常易于使用。只需使用几个简单的代码行即可轻松地检索和处理 IMDb 数据库。