Logo
Section 1 / 5

主要电视剧详情

学习并练习如何使用TMDB API获取主要电视剧的详细信息。

导入

主要电视剧详情

学习并练习如何使用TMDB API获取主要电视剧的详细信息。

本课程聚焦于 TMDB 的接口,用于通过 ID 获取电视剧、季和集的关键信息。

电视剧详情

电视剧的主要信息有助于用户决定是否观看某部剧集。TMDB 允许我们通过其 TMDB ID 获取一部电视剧的所有主要信息。该方法接收 tv_id 作为参数,并返回包含所有核心信息的单一 JSON 响应。这一功能对开发者非常有帮助,是任何媒体应用的基础功能。

...

我们可以通过 TMDB 的 电视剧详情 接口,使用整数路径参数 tv_id 获取电视剧的关键信息。

...
电视剧详情接口

当前关注的基地址如下:

1https://api.themoviedb.org/3/tv/{tv_id}?api_key={yourTMDBapikey}

此接口所需的查询参数如下:

参数名类型可选性描述
language字符串可选使用 ISO_3166_1 代码指定语言,以获取对应语言的翻译数据。仅适用于支持多语言的字段。默认值为 en-US。
append_to_response字符串可选用于将同命名空间内的其他请求附加到响应中。格式为 ([\w]+)。

输出 JSON 响应中的对象如下:

对象类型可选性描述
episode_run_time整数数组可选每集的平均时长。
first_air_date字符串可选该电视剧首次正式播出的日期。
genres对象数组可选返回该电视剧的所有主题类别,如动作、剧情等。
id整数可选电视剧的 ID,即我们在 GET 请求 URL 中提供的 ID。
networks对象数组可选返回正在播放该电视剧的所有电视台(含详细信息)。
number_of_episodes整数可选该电视剧的总集数。
number_of_seasons整数可选该电视剧的总季数。
original_language字符串可选该电视剧原始创作的语言。
original_name字符串可选该电视剧在原始语言中的名称。例如,在日本首播的剧集,其原始名称为日文。
overview字符串可选简明扼要、无剧透的剧情简介或概要。
popularity数字可选基于多种因素(如用户投票数、页面访问量)计算出的数值,反映该电视剧的受欢迎程度。
tagline字符串或 null可选用于电视剧海报上的简短而吸引人的宣传语,激发观众兴趣。
type字符串可选该电视剧的类型。有效值包括:纪录片、新闻、迷你剧、真人秀、剧本类、访谈节目和视频。
vote_count整数可选该电视剧的总投票数。

下面我们尝试运行一个电视剧详情接口示例。点击“编辑”,填写 API_KEY(即我们的 TMDB API 密钥)和 TV_ID。虽然我们可以从 TMDB 获取所有有效的电视剧 ID(参见课程中的“实用 ID”列表),但目前我们可以使用以下任意一个:

电视剧TV ID
朋友1668
主厨对决40290
纸钞屋(金钱游戏)71446
急诊室故事1416
办公室2316
皮尔·布兰迪斯60574

现在点击“运行”,即可获取我们提供 ID 的电视剧的所有基本信息。

1import json 2import requests 3from pprint import pprint 4 5api_key = '{{API_KEY}}' 6language = 'en-US' 7response = requests.get("https://api.themoviedb.org/3/tv/{{TV_ID}}", 8 params={'api_key':api_key, 9 'language':language}) 10 11# 格式化并打印 JSON 响应 12pprint(response.json())

我们已成功获取了所请求电视剧的英文信息。现在将第 6 行的 language 改为另一种语言,例如西班牙语,观察结果变化。西班牙语的 ISO 3166 1 代码为 es-ES。如果所请求的电视剧本身是西班牙语(如《金钱游戏》),这种变化会更加明显。

电视剧季详情

如今大多数电视剧都有多个季。因此,获取某一季的信息与获取电视剧整体信息同等重要。TMDB 能够轻松实现这一点。我们可以通过 电视剧季详情 接口,使用电视剧 ID 和季号来获取该季的主要信息。

该接口是电视剧详情接口的扩展。它接收两个整数路径参数 tv_id 和 season_number,并返回所请求季的详细信息,以单一 JSON 响应形式呈现。

...
电视剧季详情接口

当前关注的基地址如下:

1https://api.themoviedb.org/3/tv/{tv_id}/season/{season_number}?api_key={yourTMDBapikey}

该接口使用的查询参数与电视剧详情接口相同。但其返回的 JSON 响应对象如下:

对象类型可选性描述
_id字符串可选所请求季的 ID,以字符串形式表示。
air_date字符串可选该季正式发布的日期。
episodes对象数组可选返回该季的所有剧集(含详细信息)。
name字符串可选所请求季的名称,可以是原名或其他名称。
id整数可选所请求季的 ID,以整数形式表示。
overview字符串可选该季的简明扼要、无剧透的剧情概要。
poster_path字符串或 null可选该季海报图片的路径。若无海报,则返回 null。
season_number整数可选我们请求的电视剧季号。

以下代码用于获取某部电视剧第一季的主要信息。我们需要提供电视剧的 ID。可根据需要更改季号:改为 season/2 即获取第二季,season/3 获取第三季,依此类推。要运行此示例,请复制下方代码,替换上方可执行代码框中的第 7 至 9 行代码。然后点击“运行”执行。

1response = requests.get("https://api.themoviedb.org/3/tv/{{TV_ID}}/season/1", 2 params={'api_key':api_key, 3 'language':language})

电视剧集详情

每部电视剧在每一季中都有一定数量的剧集。获取某集的详细信息至关重要,直接影响用户是否选择观看该剧。这些信息包括评分、制作团队和客串演员等。

...

我们可以通过 TMDB 的 电视剧集详情 接口,使用电视剧 ID、季号和集号来获取某一集的主要信息。该接口接收三个整数路径参数:tv_id、season_number 和 episode_number,并返回所请求剧集的完整信息,以单一 JSON 响应形式返回。

...
电视剧集详情接口

当前关注的基地址如下:

1https://api.themoviedb.org/3/tv/{tv_id}/season/{season_number}/episode/{episode_number}?api_key={yourTMDBapikey}

该接口使用的查询参数与电视剧详情接口相同。但其输出 JSON 响应中的对象如下:

对象类型可选性描述
air_date字符串可选该集正式发布的日期。
crew对象数组可选返回该集的所有工作人员(含详细信息)。
episode_number整数可选我们请求的电视剧集号。
guest_stars对象数组可选返回该集的所有客串演员(含详细信息)。
name字符串可选该集的名称,可以是原名或其他名称。
id整数可选所请求剧集的 ID。
overview字符串可选该集的简明扼要、无剧透的剧情概要。
production_code字符串或 null可选该集的制作编号。
runtime整数可选该集的播放时长(单位:分钟)。
season_number整数可选我们请求的电视剧季号。
still_path字符串可选该集的图片路径(如有)。
vote_average数字可选该集的平均评分,基于投票数计算,取值范围为 0 到 10。
vote_count整数可选该集的总投票数。

以下代码用于获取某部电视剧第一季第一集的主要信息。我们需提供电视剧 ID。可根据需要更改集号:改为 episode/2 获取第二集,episode/3 获取第三集,依此类推。要运行此示例,请复制下方代码,替换上方可执行代码框中的第 7 至 9 行代码。然后点击“运行”执行。

1response = requests.get("https://api.themoviedb.org/3/tv/{{TV_ID}}/season/1/episode/1", 2 params={'api_key':api_key, 3 'language':language})

现在我们已经掌握了通过 ID 获取电视剧、季或集信息的方法。如需获取更多细节,如演员阵容、工作人员、图片和视频等内容,可使用 credits、images 和 videos 接口。请查看这些接口的基地址,并自行练习相关接口。

电影

电视剧演员阵容、图片和视频