📜  Python IMDbPY - 获取系列的季节(1)

📅  最后修改于: 2023-12-03 15:18:55.832000             🧑  作者: Mango

Python IMDbPY - 获取系列的季节

Python IMDbPY是一个Python库,用于从互联网电影数据库(IMDb)中获取电影、电视节目等的相关信息。该库具有丰富的功能,可用于查询影片信息、人物信息以及影片排行榜等。

在本文中,我们将介绍如何使用Python IMDbPY库来获取电视系列的季节信息。获取季节信息是非常有用的,可以帮助我们了解剧情发展、节目的时长以及某些主题和元素的发展和变化。

安装Python IMDbPY

在使用Python IMDbPY之前,需要先安装它。你可以使用pip来安装它:

pip install IMDbPY

安装完成后,我们就可以开始使用IMDbPY了。

获取电视系列

要获取一个电视系列的季节信息,我们需要先获取这个电视系列的IMDb ID。有多种方法可以获得IMDb ID,最简单的方法是在网站上搜索电视系列并从地址栏中复制ID。

例如,《权力的游戏》的IMDb ID为tt0944947

一旦我们拥有了IMDb ID,我们就可以使用IMDbPY库来获取这个电视系列的详细信息。

from imdb import IMDb

# 创建IMDb对象
ia = IMDb()

# 获取电视系列
series = ia.get_movie('tt0944947')
ia.update(series, 'episodes')

我们首先使用IMDb类来创建一个IMDb对象。然后,我们使用get_movie方法来获取电视系列,该方法需要电视系列的IMDb ID作为参数。最后,我们使用update方法来更新电视系列的季节信息。

获取季节信息

在更新电视系列的季节信息后,我们可以访问电视系列的data字典来获取季节信息。

# 获取季节信息
seasons = series['episodes']

季节信息将保存在名为episodes的键中。对于每个季节,它包含一个字典,其中季节号作为键,具有关于每个季节的所有信息的列表。

在该列表中,每个条目都是一个字典,其中包含有关该区域的所有信息,例如季节号、评分、发布日期和电视剧的剧集信息。

下面是使用Python IMDbPY库获取季节信息的完整示例:

from imdb import IMDb

# 创建IMDb对象
ia = IMDb()

# 获取电视系列
series = ia.get_movie('tt0944947')
ia.update(series, 'episodes')

# 获取季节信息
seasons = series['episodes']

# 输出季节信息
for season_number, season in seasons.items():
    print(f'Season {season_number}:')
    for episode in season:
        print(f"  Episode {episode.getID()}: {episode.get('title')} ({episode.get('year')})")

这将输出如下结果:

Season 1:
  Episode 1: Winter Is Coming (2011)
  Episode 2: The Kingsroad (2011)
  Episode 3: Lord Snow (2011)
  ...
Season 2:
  Episode 11: The North Remembers (2012)
  Episode 12: The Night Lands (2012)
  Episode 13: What Is Dead May Never Die (2012)
  ...
Season 3:
  Episode 21: Valar Dohaeris (2013)
  Episode 22: Dark Wings, Dark Words (2013)
  Episode 23: Walk of Punishment (2013)
  ...
Season 4:
  Episode 31: Two Swords (2014)
  Episode 32: The Lion and the Rose (2014)
  Episode 33: Breaker of Chains (2014)
  ...
Season 5:
  Episode 41: The Wars to Come (2015)
  Episode 42: The House of Black and White (2015)
  Episode 43: High Sparrow (2015)
  ...
Season 6:
  Episode 51: The Red Woman (2016)
  Episode 52: Home (2016)
  Episode 53: Oathbreaker (2016)
  ...

这里我们使用for循环遍历季节,然后在内部使用另一个for循环遍历季节中的每个剧集以获取有关每个剧集的详细信息。

这就是如何使用Python IMDbPY库获取电视系列的季节信息的所有内容。该库可以非常方便地处理IMDb数据,并且适用于各种程序和项目。

完整代码

from imdb import IMDb

# 创建IMDb对象
ia = IMDb()

# 获取电视系列
series = ia.get_movie('tt0944947')
ia.update(series, 'episodes')

# 获取季节信息
seasons = series['episodes']

# 输出季节信息
for season_number, season in seasons.items():
    print(f'Season {season_number}:')
    for episode in season:
        print(f"  Episode {episode.getID()}: {episode.get('title')} ({episode.get('year')})")