一些有用的 ID
学习如何提取 TMDB 接口所需的某些有用 ID。
对于 TMDB 的 基础电影 和 电视剧 接口,我们需要 movie_id 和 tv_id。以下是获取这些有效值的方法:
电影 ID
movie_id 的值可以是 TMDB 中当前有效的任意整数电影 ID。以下是一些 TMDB 上有效的电影 ID 示例:
| 电影名称 | 电影 ID |
|---|---|
| 教父 | 238 |
| 蜘蛛侠:英雄无归 | 634649 |
| 小鬼当家 | 10585 |
| 欢乐好声音 | 20413 |
| 超能陆战队 | 177572 |
获取有效 movie_id 的两种主要方法如下:
- 使用搜索接口。该接口接收查询字符串,并返回包含
movie_id值的 JSON 响应。 - 通过其 每日文件导出 页面获取 TMDB 上所有有效电影 ID 的列表。数据每天凌晨 7 点 UTC 更新,可在上午 8 点前下载!
具体使用的 URL 为:http://files.tmdb.org/p/exports/movie_ids_MM_DD_YYYY.json.gz。例如,若需获取截至 2022 年 2 月 23 日的所有电影 ID,可使用:http://files.tmdb.org/p/exports/movie_ids_02_23_2022.json.gz。
电视剧 ID
与 movie_id 类似,tv_id 是表示 TMDB 中有效电视剧的整数 ID。以下是一些在 TMDB 上有效的电视剧 ID 示例:
| 电视剧名称 | 电视剧 ID |
|---|---|
| 老友记 | 1668 |
| 主厨对决 | 40290 |
| 纸钞屋(金钱游戏) | 71446 |
| 急诊室的故事 | 1416 |
| 办公室 | 2316 |
| 铁杉树镇 | 60574 |
获取有效 tv_id 的两种主要方法如下:
- 使用搜索接口。该接口接收查询字符串,并返回包含
tv_id值的 JSON 响应。 - 通过其 每日文件导出 页面获取 TMDB 上所有有效电视剧 ID 的列表。数据每天凌晨 7 点 UTC 更新,可在上午 8 点前下载!
具体使用的 URL 为:http://files.tmdb.org/p/exports/tv_ids_MM_DD_YYYY.json.gz。例如,若需获取截至 2022 年 2 月 23 日的所有电视剧 ID,可使用:http://files.tmdb.org/p/exports/tv_ids_02_23_2022.json.gz。
人物 ID
每位演员和工作人员都关联一个称为“人物 ID”的唯一标识符。信用信息接口会返回任何电影或电视剧的演员和工作人员列表,其中也包含人物 ID,因此我们可以利用此接口获取人物 ID。下面的代码用于获取演员和工作人员列表中的第一个人物 ID。
1import json 2import requests 3from pprint import pprint 4 5api_key = '{{API_KEY}}' 6language = 'en-US' 7 8response = requests.get("https://api.themoviedb.org/3/movie/{{MOVIE_ID}}/credits", 9 params={'api_key':api_key, 10 'language':language}).json() 11 12# 从演员列表中提取一个人员 ID 13person_id1 = response['cast'][0]['id'] 14print("演员列表中的人员 ID: ", person_id1) 15 16# 从工作人员列表中提取一个人员 ID 17person_id2 = response['crew'][0]['id'] 18print("工作人员列表中的人员 ID: ", person_id2)
另一种获取 TMDB 上有效人物 ID 的方式是使用其 每日文件导出 页面。数据每天凌晨 7 点 UTC 更新,可在上午 8 点前下载!
具体使用的 URL 为:http://files.tmdb.org/p/exports/person_ids_MM_DD_YYYY.json.gz。例如,若需获取截至 2022 年 2 月 23 日的所有人物 ID,可使用:http://files.tmdb.org/p/exports/person_ids_02_23_2022.json.gz。
外部 ID
TMDB 提供外部 ID 功能,用于查找任何项目(电影、电视剧/季/集,或人物)在外部平台上的标识符。这些 ID 是项目在其他平台上的编号,而非 TMDB 自身的 ID。例如,电视剧《老友记》在 TVDB、Facebook、Instagram 等平台上都有各自的 ID。
目前,TMDB 支持以下外部数据源:
| 媒体数据库 | 社交平台 ID |
|---|---|
| IMDb ID | |
| TVDB ID | |
| - |
我们可以通过 外部 ID 接口获取 TMDB 中任意项目的外部 ID。以下是获取各类项目外部 ID 的有效 URL:
上述所有 URL 均支持有效的路径参数值。路径参数 movie_id、tv_id、season_number 和 episode_number 均为整数类型。
让我们尝试使用下方代码工具获取某个项目的外部 ID 列表。填写你的 API_KEY 和 MOVIE_ID 后运行代码。
1import json 2import requests 3from pprint import pprint 4 5api_key = '{{API_KEY}}' 6 7response = requests.get("https://api.themoviedb.org/3/movie/{{MOVIE_ID}}/external_ids", 8 params={'api_key':api_key}) 9 10# 格式化并打印 JSON 响应 11pprint(response.json())
我们已成功获取了指定 MOVIE_ID 对应电影的外部 ID。接下来,尝试获取一部电视剧的外部 ID。为此,请填写 TV_ID 的值,并将第 7 行的 URL 替换为:
1https://api.themoviedb.org/3/tv/{{TV_ID}}/external_ids