You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于TMDb API与tmdbv3api编写指定类型电影总数统计脚本

使用tmdbv3api获取指定类型电影总数的脚本

前置准备

  • 安装依赖包:pip install tmdbv3api
  • 从TMDb官方平台获取个人API密钥(注册账号后在账户设置中生成)

实现代码

from tmdbv3api import TMDb, Genre, Discover

# 初始化TMDb客户端
tmdb = TMDb()
tmdb.api_key = "你的API密钥"  # 替换为实际密钥
tmdb.language = "zh-CN"  # 可选,设置返回语言为中文

def get_genre_id(genre_name):
    """根据类型名称匹配TMDb对应的类型ID"""
    genre_client = Genre()
    all_genres = genre_client.movie_list()
    for genre in all_genres:
        if genre["name"] == genre_name:
            return genre["id"]
    return None

def get_movie_total(genre_name):
    """获取指定类型的电影总数"""
    genre_id = get_genre_id(genre_name)
    if not genre_id:
        print(f"未找到匹配的类型:{genre_name}")
        return 0
    
    discover_client = Discover()
    # 调用发现接口,仅需第一页数据即可拿到总数
    discover_result = discover_client.discover_movies({
        "with_genres": genre_id,
        "page": 1
    })
    return discover_result["total_results"]

# 示例调用
if __name__ == "__main__":
    target_genre = "剧情"  # 可替换为"恐怖"、"动作"等类型名称
    total = get_movie_total(target_genre)
    print(f"【{target_genre}】类型的电影总数:{total}")

关键说明

  • 类型名称需要和TMDb返回的标准名称完全匹配,设置language="zh-CN"时使用中文名称即可
  • total_results字段返回的是TMDb数据库中该类型下的全部电影数量,包含未上映影片
  • 注意TMDb API的请求频率限制,避免短时间内高频调用导致访问受限
  • 如果API密钥无效或权限不足,会返回401/403错误,请检查密钥配置

内容的提问来源于stack exchange,提问作者gcarterIT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 07:34:55