📜  Python IMDbPY – 获得系列评分(1)

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

Python IMDbPY – 获得系列评分

如果你是一个电影迷或电视迷,你肯定会想了解一个系列电影或电视剧的整体评分。而IMDb是一个非常好的评分网站。Python IMDbPY是一个Python包,可以允许你从IMDb获取电影和电视节目的信息。在这篇文章中,我们将介绍如何使用Python IMDbPY来获取一个系列的评分。

准备工作

在使用Python IMDbPY之前,你需要安装它。你可以使用以下命令来安装Python IMDbPY:

pip install IMDbPY
获取系列信息

首先,我们需要使用Python IMDbPY来获取系列的信息。你可以使用以下代码来获取一个电视节目的信息:

from imdb import IMDb

# 创建IMDb对象
ia = IMDb()

# 使用search_keyword来搜索你想要的电视节目
search_results = ia.search_keyword('Game of Thrones')

# 选择第一个结果
series = search_results[0]

# 使用IMDb ID来获取电视节目的信息
ia.update(series)

# 获取电视节目的所有季节信息
ia.update(series, 'episodes')

以上代码将搜索IMDb数据库中的"Game of Thrones"电视节目。然后,我们选择搜索结果中的第一个条目,并使用它的IMDb ID来获取电视节目的所有季节信息。

计算系列评分

我们从IMDb中获取到的这个电视节目的信息中,有每一季的信息以及每一季的每一集的信息。然后,我们可以计算出这个电视节目的整体评分。以下是代码实现:

# 计算电视节目整体评分
def get_series_rating(series):
    # 获取每一季的评分
    season_ratings = []
    for season in sorted(series['episodes']):
        season_episodes = series['episodes'][season]
        episode_ratings = []
        for episode in sorted(season_episodes):
            episode_ratings.append(season_episodes[episode].get('rating', 0))
        avg_episode_rating = sum(episode_ratings) / len(episode_ratings) if len(episode_ratings) > 0 else 0
        season_ratings.append(avg_episode_rating)
    # 计算整体评分
    return sum(season_ratings)/len(season_ratings) if len(season_ratings) > 0 else 0

# 获取整体评分
rating = get_series_rating(series)
print('Series rating:', rating)

以上代码首先计算每一季的平均评分。然后,将每一季的平均评分加到一个数组中,并计算这个数组的平均值,即为整个电视节目的评分。

总结

Python IMDbPY是一个非常有用的Python包,可以帮助你从IMDb获取电影和电视节目的信息。在这篇文章中,我们介绍了如何使用Python IMDbPY来计算一个电视节目的整体评分。希望这篇文章能帮助到你!