欢迎访问宙启技术站

使用Python和IMDbAPI生成电影导演的作品列表

发布时间:2023-12-11 09:02:58

要使用Python和IMDb API生成电影导演的作品列表,我们可以使用requests库来发送HTTP请求并获取API响应,然后使用json库来解析响应数据。

首先,我们需要通过IMDb的网站注册并获取API密钥。您可以通过访问[IMDb API网站](https://developer.imdb.com/)来注册并获取一个API密钥,然后替换下面代码中的API_KEY变量。

import requests
import json

API_KEY = 'your_api_key'

def get_director_movies(director_id):
    url = f"https://imdb-api.com/en/API/DirectorFilmography/{API_KEY}/{director_id}"
    response = requests.get(url)
    if response.status_code == 200:
        data = json.loads(response.content)
        movies = data['filmography']
        return movies
    else:
        return None

# 示例用法
director_id = 'nm0000243'  # 斯蒂芬·斯皮尔伯格的IMDb导演ID
director_movies = get_director_movies(director_id)
if director_movies:
    for movie in director_movies:
        print(f"{movie['title']} ({movie['year']})")
else:
    print("无法获取导演的作品列表")

在上面的示例中,我们定义了一个get_director_movies函数,它接受一个IMDb导演ID作为参数,并返回该导演的作品列表。函数内部通过构建正确的API URL并使用requests.get方法发送GET请求来获取数据。

然后,我们通过检查响应状态码是否为200来判断请求是否成功。如果成功,我们将使用json.loads方法解析JSON响应,然后从响应数据中提取电影列表,并迭代打印每个电影的标题和年份。

最后,我们使用了斯蒂芬·斯皮尔伯格的IMDb导演ID作为示例,并调用get_director_movies函数来获取他的作品列表,并以标题和年份的格式打印出来。

请注意,上述示例仅适用于演示目的,并且只提供了获取电影标题和年份的基本信息。根据具体需要,您可以选择从API响应中提取更多的电影信息,或者根据其他参数过滤电影列表。