使用Python构建一个IMDb电影信息的命令行工具
发布时间:2023-12-11 08:58:02
IMDb (互联网电影数据库) 是一个非常受欢迎的电影信息数据库,包含了大量的电影、电视剧、演员、导演和其他相关信息。借助Python,我们可以构建一个IMDb电影信息的命令行工具,从IMDb数据库中获取电影信息并显示给用户。下面是一个例子。
1. 安装依赖
首先,我们需要安装 requests 和 beautifulsoup4 这两个Python库。可以通过以下命令进行安装:
pip install requests beautifulsoup4
2. 构建命令行工具
我们将使用Python的命令行解析库 argparse 来处理命令行输入。创建一个名为 imdb_cli.py 的文件,然后将以下代码添加到文件中:
import argparse
import requests
from bs4 import BeautifulSoup
def get_movie_info(movie_id):
url = f"https://www.imdb.com/title/{movie_id}/"
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")
title_element = soup.find("meta", property="og:title")
title = title_element["content"] if title_element else "N/A"
description_element = soup.find("meta", property="og:description")
description = description_element["content"] if description_element else "N/A"
rating_element = soup.find("span", itemprop="ratingValue")
rating = rating_element.text.strip() if rating_element else "N/A"
return title, description, rating
def main():
parser = argparse.ArgumentParser(description="IMDb Movie Info CLI")
parser.add_argument("movie_id", type=str, help="IMDb movie ID")
args = parser.parse_args()
movie_id = args.movie_id
title, description, rating = get_movie_info(movie_id)
print(f"Title: {title}")
print(f"Description: {description}")
print(f"Rating: {rating}")
if __name__ == "__main__":
main()
3. 运行命令行工具
在命令行中输入以下命令运行该工具:
python imdb_cli.py <IMDb_movie_ID>
其中 <IMDb_movie_ID> 是你要获取信息的电影的IMDb ID。
例如,如果你要获取电影 "The Shawshank Redemption" (IMDb ID: tt0111161) 的信息,可以运行以下命令:
python imdb_cli.py tt0111161
命令行输出将会显示该电影的标题、描述和评分。
这个命令行工具使用了 requests 库来获取电影网页的HTML内容,并使用 beautifulsoup4 库来解析HTML并提取所需的电影信息。在 get_movie_info 函数中,我们构造了一个IMDb电影页面的URL,然后通过发送HTTP请求获取网页内容。使用 BeautifulSoup 对网页内容进行解析,我们可以使用 find 方法查找特定HTML元素,提取电影的标题、描述和评分。
这个例子只是一个简单的构建了IMDb电影信息命令行工具的示例。你可以根据自己的需求进行定制,例如添加更多的电影信息字段或功能,或者选择不同的网站来获取电影信息。
