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

遍历TMDB API解析结果为何数据缺失?如何修复?

TMDB接口遍历影片列表结果不完整的问题修复

问题场景

调用TMDB的person/movie_credits接口获取影人影片信息,通过json.loads解析响应后,json.dumps输出能看到大量original_title字段,但仅遍历parsed['cast']时得到的结果远少于显示的数量。

原代码

TMDB_TOKEN = "PUT YOURS HERE IF YOU WANNA TEST"
headers = {
    "accept": "application/json",
    "Authorization":  TMDB_TOKEN
    }
id = 17520
url = "https://api.themoviedb.org/3/person/{person_id}/movie_credits".format(person_id=id)
response = requests.get(url, headers=headers,)
parsed = json.loads(response.text)
print(json.dumps(parsed, indent=1))
all_filmo = { "doc":[] , 'cinema': [] , "tv" : [] }
for i in parsed['cast']:
    print(i['original_title'])

现象对比

  • json.dumps展示的original_title列表(部分):

"original_title": "Cin\u00e9ma par... C\u00e9dric Klapisch",
"original_title": "Quand Jean devint Renoir",
...(大量后续条目)

  • 实际遍历parsed['cast']的结果:

Cinéma par... Cédric Klapisch
Quand Jean devint Renoir
...(仅16条条目)

错误原因

TMDB的person/movie_credits接口返回的数据中,影片信息分为两个独立数组:

  • cast:该影人作为演员参演的影片集合
  • crew:该影人作为幕后人员(导演、编剧、制片等)参与的影片集合

你仅遍历了cast数组,而json.dumps输出里的大量original_title来自crew数组,因此遍历结果远少于显示的总量。

修复方案

需要同时遍历cast和crew两个数组,合并所有影片信息。为避免部分条目缺失字段导致报错,建议先判断条目是否包含original_title。

修复后的代码示例

import requests
import json

TMDB_TOKEN = "PUT YOURS HERE IF YOU WANNA TEST"
headers = {
    "accept": "application/json",
    "Authorization": TMDB_TOKEN
}
person_id = 17520
url = f"https://api.themoviedb.org/3/person/{person_id}/movie_credits"

response = requests.get(url, headers=headers)
parsed = json.loads(response.text)

# 合并演员参演和幕后参与的所有影片条目
all_movie_credits = parsed['cast'] + parsed['crew']

# 遍历并输出所有影片的original_title
for item in all_movie_credits:
    if 'original_title' in item:
        print(item['original_title'])

补充说明

如果需要区分演员和幕后身份,可以在遍历时保留对应字段:

# 遍历演员参演条目
for item in parsed['cast']:
    print(f"演员参演:{item['original_title']} - 角色:{item.get('character', '无')}")

# 遍历幕后参与条目
for item in parsed['crew']:
    print(f"幕后参与:{item['original_title']} - 职位:{item.get('job', '无')}")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 13:44:54