欢迎访问宙启技术站
智能推送

使用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)}")

以上代码首先导入了imdbrequests库,并创建了一个IMDb对象。然后,使用get_movies方法获取最新的50部电影,并使用ia.update方法从IMDb API获取电影的详细信息。接下来,代码创建了一个名为poster_dir的目录用于保存下载的海报。

然后,代码迭代每部电影,获取电影的标题、年份和海报URL,并使用requests库下载海报图片。海报图片保存在poster_path变量指定的文件路径中。

最后,代码打印了生成的海报墙。这里我们使用了绝对文件路径,以便在浏览器中正确显示图片。可以将生成的海报墙保存为HTML文件,并在浏览器中打开以查看。

这是一个基本的示例代码,你还可以根据需要对其进行修改和扩展。你可以通过IMDb API获取更多电影信息,如电影的演员、导演、评分等,并在海报墙上显示出来。