当然,以下是一个完整且合法的 Python 项目示例:使用 TMDb(The Movie Database)公开 API,开发一个电影信息搜索应用,可以获取影片封面、简介、评分、预告片链接等内容,并可拓展为个人电影推荐或浏览器工具。
🧩 项目名称:MovieFinder(基于 Python 的电影信息搜索工具)
📌 功能介绍
- 用户输入电影名称。
- 系统调用 TMDb API 获取:
- 中文/英文片名
- 上映时间
- 简介(overview)
- IMDb 评分
- 海报图
- 可选:YouTube 上的预告片地址
🛠️ 所需环境
- Python 3.x
- requests(HTTP 请求库)
- TMDb API 密钥(免费注册即可)
📚 步骤一:获取 TMDb API Key
- 打开官网注册:https://www.themoviedb.org/
- 登录后前往 https://www.themoviedb.org/settings/api 申请 developer API key。
- 审核通过后获得一个像
123abc456def789ghi
的 key。
🧪 步骤二:Python 实现代码(最简版)
import requests
# 替换为你的 TMDb API Key
API_KEY = "你的_API_KEY"
BASE_URL = "https://api.themoviedb.org/3"
def search_movie(query):
url = f"{BASE_URL}/search/movie"
params = {
"api_key": API_KEY,
"query": query,
"language": "zh-CN" # 中文结果
}
response = requests.get(url, params=params)
return response.json()
def print_movie_info(movie):
title = movie.get('title')
overview = movie.get('overview')
rating = movie.get('vote_average')
poster_path = movie.get('poster_path')
release_date = movie.get('release_date')
print(f"🎬 标题: {title}")
print(f"📅 上映时间: {release_date}")
print(f"⭐ IMDb评分: {rating}")
print(f"📝 简介: {overview}")
print(f"🖼️ 海报: https://image.tmdb.org/t/p/w500{poster_path}")
if __name__ == "__main__":
keyword = input("请输入电影名称:")
results = search_movie(keyword)
movies = results.get('results')
if not movies:
print("❌ 没有找到相关电影")
else:
print_movie_info(movies[0]) # 显示第一条结果
🌐 扩展功能(选做)
功能 | 简介 |
---|---|
🎞️ 获取预告片链接 | 使用 /movie/{movie_id}/videos 获取 YouTube Trailer |
📄 导出 PDF 报告 | 用 reportlab 自动生成电影信息海报 |
📁 本地收藏夹管理 | 创建收藏列表,保存用户感兴趣影片信息 |
🔍 GUI 界面 | 使用 tkinter 或 PyQt5 制作桌面版搜索工具 |
🔥 Flask 网页版 | 做一个网页应用,用户在线查电影信息 |
🤖 推荐系统 | 根据你收藏的影片自动推荐相似电影(通过 genre 和 keyword 实现) |
✅ 示例输出(终端)
请输入电影名称:阿凡达
🎬 标题: 阿凡达
📅 上映时间: 2009-12-15
⭐ IMDb评分: 7.5
📝 简介: 杰克·萨利是一个瘫痪的前海军...
🖼️ 海报: https://image.tmdb.org/t/p/w500/xyz.jpg
🧩 TMDb 官方文档
- 中文文档主页:https://developers.themoviedb.org/3
- 搜索接口:https://developers.themoviedb.org/3/search/search-movies
- 图片基础 URL:https://image.tmdb.org/t/p/
🚀 高阶版本构想
你可以使用 Flask + Bootstrap 写一个完整网站版,部署在 Heroku 或 Vercel,实现“在线看简介+评分+预告片”的电影网站聚合页。
发表回复