使用Python和IMDbAPI生成最新电影的海报墙
发布时间:2023-12-11 08:58:50
要使用Python和IMDb API生成最新电影的海报墙,我们需要首先安装IMDbPy库和requests库。可以使用以下命令来安装这些库:
pip install IMDbPY pip install requests
安装完成后,我们可以开始编写Python代码。下面是一个生成最新电影海报墙的示例代码:
import imdb
import requests
import os
# 创建IMDb对象
ia = imdb.IMDb()
# 获取最新的50部电影
movies = ia.get_movies()
movies = movies[:50] # 只获取前50部
# 创建保存海报的目录
poster_dir = "posters"
if not os.path.exists(poster_dir):
os.makedirs(poster_dir)
# 下载并保存每部电影的海报
for i, movie in enumerate(movies):
# 从IMDb API获取电影信息
ia.update(movie)
title = movie['title']
year = movie['year']
poster_url = movie['cover url']
# 下载海报图片
response = requests.get(poster_url)
poster_path = os.path.join(poster_dir, f"{title} ({year}).jpg")
with open(poster_path, 'wb') as f:
f.write(response.content)
print(f"Downloaded poster {i+1}/{len(movies)}: {title} ({year})")
# 打印生成的海报墙
for i, movie in enumerate(movies):
title = movie['title']
year = movie['year']
poster_path = os.path.join(poster_dir, f"{title} ({year}).jpg")
print(f"{i+1}. {title} ({year}): file://{os.path.abspath(poster_path)}")
以上代码首先导入了imdb和requests库,并创建了一个IMDb对象。然后,使用get_movies方法获取最新的50部电影,并使用ia.update方法从IMDb API获取电影的详细信息。接下来,代码创建了一个名为poster_dir的目录用于保存下载的海报。
然后,代码迭代每部电影,获取电影的标题、年份和海报URL,并使用requests库下载海报图片。海报图片保存在poster_path变量指定的文件路径中。
最后,代码打印了生成的海报墙。这里我们使用了绝对文件路径,以便在浏览器中正确显示图片。可以将生成的海报墙保存为HTML文件,并在浏览器中打开以查看。
这是一个基本的示例代码,你还可以根据需要对其进行修改和扩展。你可以通过IMDb API获取更多电影信息,如电影的演员、导演、评分等,并在海报墙上显示出来。
