人物信息
学习并练习如何使用TMDB API获取人员的基本信息。
在本节课中,我们将重点学习如何获取两类主要信息:影视作品中某个人的详细信息,以及某个人在影视作品中的全部演出和创作记录。
人物的详细信息
与电影和电视剧类似,我们也可以获取任何人物的详细信息。可以使用 person 端点来获取任意人物的基本信息。这里的人物可以是任何电影或电视剧的演员或幕后工作人员。该端点接收一个整数路径参数 person_id,并返回该人物的详细信息,以单一 JSON 响应形式返回。
当前关注的基地址如下:
1https://api.themoviedb.org/3/person/{person_id}?api_key={ourTMDBapikey}
该端点所需的查询参数如下:
| 参数名 | 类型 | 可选性 | 描述 |
|---|---|---|---|
| language | 字符串 | 可选 | 使用 ISO_3166_1 国家代码来获取指定语言的翻译数据。仅适用于支持多语言的字段。默认值为 en-US。 |
| append_to_response | 字符串 | 可选 | 用于将同命名空间内的其他请求附加到响应中。格式为 ([\w]+)。 |
| 字段 | 类型 | 可选性 | 描述 |
|---|---|---|---|
| adult | 布尔值 | 可选 | 标志位,表示该人物是否参与过成人内容。 |
| birthday | 字符串 或 null | 可选 | 返回该人物的出生日期。 |
| known_for_department | 字符串 | 可选 | 返回该人物最为人熟知的工作部门名称。例如,马修·佩里因表演而闻名。 |
| deathday | null 或 字符串 | 可选 | 返回该人物的去世日期(仅当适用时)。 |
| id | 整数 | 可选 | 该人物在 TMDB 上的唯一标识 ID(与输入参数一致)。 |
| name | 字符串 | 可选 | 该人物的原始姓名。 |
| also_known_as | 字符串数组 | 可选 | 返回该人物常被称呼的其他名字列表。 |
| gender | 整数 | 可选 | 返回表示人物性别的整数值。0 表示未指定,1 表示女性,2 表示男性。 |
| biography | 字符串 | 可选 | 返回一段简短的文字介绍,描述该人物的生平。 |
| popularity | 数字 | 可选 | 该人物在 TMDB 上的受欢迎程度评分。 |
| place_of_birth | 字符串 或 null | 可选 | 返回该人物的出生地。 |
| profile_path | 字符串 或 null | 可选 | 返回该人物头像图片的路径。 |
| imdb_id | 字符串 | 可选 | 返回该人物在 IMDb 上的外部 ID。 |
| homepage | null 或 字符串 | 可选 | 返回该人物的个人主页链接(如有)。 |
下方代码框展示了基本人物详情端点的使用方法。在运行代码前,请填写 API_KEY 和 PERSON_ID 的值。虽然你可以提取并使用所有有效的人员 ID,但目前建议尝试我们提供的几个示例人物 ID。
| 人物 | 人员 ID |
|---|---|
| 道恩·强森 | 18918 |
| 文斯·沃恩 | 12835 |
| 莱昂纳多·迪卡普里奥 | 6193 |
| 汤姆·克鲁斯 | 500 |
| 艾米莉亚·琼斯 | 1331023 |
| 泽恩·黛雅 | 505710 |
| 詹妮弗·安妮斯顿 | 4491 |
| 戈登·拉姆齐 | 208630 |
1import json 2import requests 3from pprint import pprint 4 5api_key = '{{API_KEY}}' 6 7response = requests.get("https://api.themoviedb.org/3/person/{{PERSON_ID}}", 8 params={'api_key':api_key}) 9 10# 格式化并打印 JSON 响应 11pprint(response.json())
人物的创作记录
在电影和电视剧中,我们可以获取特定作品的全部创作记录。但如果想了解某个人的所有参与作品呢?例如,想知道汤姆·赫兰德参与过的所有电影和电视剧,无论他是作为演员还是幕后人员。TMDB API 提供了三种方法来实现这一目标。我们可以使用以下三种方式获取某个人的创作记录列表:
- 人物电影创作记录
- 人物电视剧创作记录
- 人物综合创作记录
获取人物的电影创作记录
此方法用于获取某个人的电影创作记录列表。人物电影创作记录端点接收一个整数路径参数 person_id,并返回该人物的电影创作信息,以单一 JSON 响应形式返回。
当前关注的基地址如下:
1https://api.themoviedb.org/3/person/{person_id}/movie_credits?api_key={ourTMDBapikey}
该端点所需的查询参数如下:
| 参数名 | 类型 | 可选性 | 描述 |
|---|---|---|---|
| language | 字符串 | 可选 | 使用 ISO_3166_1 国家代码来获取指定语言的翻译数据。仅适用于支持多语言的字段。默认值为 en-US。 |
| 字段 | 类型 | 可选性 | 描述 |
|---|---|---|---|
| cast | 对象数组 | 可选 | 返回该人物作为演员参与的电影列表。 |
| crew | 对象数组 | 可选 | 返回该人物作为幕后人员参与的电影列表。 |
| id | 整数 | 可选 | 该人物在 TMDB 上的唯一标识 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/person/{{PERSON_ID}}/movie_credits", 9 params={'api_key':api_key, 10 'language':language}) 11 12# 格式化并打印 JSON 响应 13pprint(response.json())
获取人物的电视剧创作记录
此方法用于获取某个人的电视剧创作记录列表。人物电视剧创作记录端点接收一个整数路径参数 person_id,并返回该人物的电视剧创作信息,以单一 JSON 响应形式返回。
当前关注的基地址如下:
1https://api.themoviedb.org/3/person/{person_id}/tv_credits?api_key={ourTMDBapikey}
该端点所需的查询参数与“人物电影创作记录”端点相同。但输出略有不同,因为返回的数据是针对电视剧的。例如,cast 和 crew 字段返回的是该人物参与的电视剧列表。
让我们也运行一个该端点的示例。请复制下方代码,并粘贴到上方代码框中(第 8-10 行)。然后点击“运行”执行代码。
1response = requests.get("https://api.themoviedb.org/3/person/{{PERSON_ID}}/tv_credits", 2 params={'api_key':api_key, 3 'language':language})
获取人物的综合创作记录
相比前两种方法,此方法更加高效且实用。人物综合创作记录端点允许我们一次性获取某个人的电影和电视剧创作记录。该端点接收一个整数路径参数 person_id,并返回该人物的电影和电视剧创作信息,以单一 JSON 响应形式返回。
当前关注的基地址如下:
1https://api.themoviedb.org/3/person/{person_id}/combined_credits?api_key={ourTMDBapikey}
该端点所需的查询参数与“人物电影创作记录”端点相同。但输出不同,因为返回的数据同时包含电影和电视剧信息。例如,cast 和 crew 字段返回的是该人物参与的所有电影和电视剧列表。
让我们也运行一个该端点的示例。请复制下方代码,并粘贴到上方代码框中(第 8-10 行)。然后点击“运行”执行代码。
1response = requests.get("https://api.themoviedb.org/3/person/{{PERSON_ID}}/combined_credits", 2 params={'api_key':api_key, 3 'language':language})