要使用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响应中提取更多的电影信息,或者根据其他参数过滤电影列表。