如何从列表中获取电影评分?

时间:2021-07-18 19:33:33

标签: python imdbpy

我正在使用 IMDbPY 并且我想输出来自特定国家/地区的评分。但现在我正在获得所有国家/地区的所有评级。

这是我的代码:

from imdb import IMDb

ia = IMDb()
theMatrix = ia.get_movie_parents_guide('0133093')
print(theMatrix['data']['certification'])

电流输出:

[' Argentina:13', ' Australia:M', ' Belgium:KT/EA', ' Brazil:12', ' (original rating)', ' Brazil:12', ' (re-rating)', ' Brazil:14', ' (re-rating)', ' Brazil:14', ' (2002, TV rating)', ' Canada:14A', ' (Alberta/British Columbia)', ' Canada:PA', ' (Manitoba)', ' Canada:14', ' (Nova Scotia)', ' Canada:AA', ' (Ontario)', ' Canada:13+', ' (Quebec)', ' Denmark:15', ' Finland:K-16', ' France:Tous publics avec avertissement', ' Germany:16', ' Greece:K-8', ' Hong Kong:IIB', ' Hungary:16', ' Iceland:16', ' India:UA', ' (re-rating)', ' India:A', ' (1999, original rating)', ' Ireland:15', ' (theatrical)', ' Ireland:18', ' (video)', ' Israel:PG', ' Italy:T', ' Japan:PG-12', ' Japan:G', ' (2019)', ' Luxembourg:12', ' Malaysia:18SG', ' Mexico:B', ' Netherlands:16', ' (original rating)', ' Netherlands:12', ' (re-rating)', ' New Zealand:M', ' Nigeria:PG', ' Norway:15', ' Peru:14', ' Philippines:PG-13', ' Portugal:M/12', ' Portugal:M/16', ' (Netflix rating)', ' Russia:16+', ' Saudi Arabia:PG', ' Singapore:PG', ' Singapore:PG13', ' (re-rating)', ' South Africa:10', ' South Korea:12', ' Spain:18', ' Sweden:15', ' Switzerland:12', ' (canton of Geneva)', ' Switzerland:12', ' (canton of Vaud)', ' Taiwan:PG-12', ' Thailand:G', ' United Kingdom:15', ' United States:R', ' (certificate #36569)', ' Ukraine:16']

输入:

Argentina
Brazil
United States

所需的输出:

Argentina:13
Brazil:12
United States:R

2 个答案:

答案 0 :(得分:0)

这就是您要找的:

from imdb import IMDb
ia = IMDb()
theMatrix = ia.get_movie_parents_guide('0133093')

inp=["Argentina","Brazil","United States"]

print([c[1:] for c in theMatrix['data']['certification'] if c.split(":")[0][1:] in inp])

这是内联的for循环,难懂但好用。无论如何都可以使用正常循环,如下所示:

inp=["Argentina","Brazil","United States"]

for c in theMatrix['data']['certification']:
    if c.split(":")[0][1:] in inp:
        print(c[1:])

答案 1 :(得分:0)

这就是我一直在寻找的,谢谢。

从 imdb 导入 IMDb

ia = IMDb()
theMatrix = ia.get_movie_parents_guide('0133093')
ratings = theMatrix['data']['certification']
country = " " + "Brazil"
r = [s for s in ratings if s.startswith(country)]
theRating = r[0]
print (theRating.split(":",1)[1])