0

我正在尝试使用 Imdbpy 从电影和电视节目中获取父母指南,但我不知道如何。我在源代码中可以看到一些对“家长指南”的引用,所以我希望它可以用Imdbpy来完成。

有人可以帮助我或指出正确的方向吗?:)

谢谢!

4

2 回答 2

3

您可以使用以下代码从 IMDB获取“父母指南”信息。ia.get_movie_parents_guide方法返回一个包含键 ['data', 'namesRefs', 'titlesRefs'] 的字典,并且只有'data'是我们感兴趣的。

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

#output:
['data', 'namesRefs', 'titlesRefs']

在“数据”中,我们有另一个包含键 ['certification', 'mpaa'] 的字典。而认证信息给出了每个国家规定的认证(年龄限制)。

theMatrix['data']['certification']

#output:
[' Argentina:13',
 ' Australia:M',
 ' Belgium:KT/EA',
 ' Brazil:12',
 ...
 ...
 ' India:A',
 ...
 ...
 ' United States:R',
 ' (certificate #36569)',
 ' Ukraine:16']

MPAA(美国电影协会)是在美国颁发的认证。

theMatrix['data']['mpaa']

#output:
'Rated R for sci-fi violence and brief language'

然而,家长指南的主要信息不仅是来自世界各地的 MPAA 和认证评级,而是为家长提供证书无法完全传达的有关标题的额外信息。如果您检查 IMDB 中的标题,我说的是红色圈出的部分。

目前,我找不到使用 imdbpy 检索此信息的方法,如果有使用 imdbpy 的解决方案,我很想听听任何人的意见。我知道我们可以用其他包创建一个爬虫,但是在 imdbpy 中寻找我可能会忽略的任何功能。

IMDB 家长指南

对于那些不熟悉 imdbpy 的人,我相信阅读我的其他答案有助于理解信息集。

于 2020-04-22T08:47:33.847 回答
1

这是我在Python 3中的操作方法:

import imdb
ia = imdb.IMDb()
movie = ia.get_movie_parents_guide("1640718")
print(movie)

输出应该是:

{'titlesRefs': {}, 'data': {'certification': [' Canada:G', ' (Alberta/Quebec/Nova Scotia)', ' Canada:PG', ' (Manitoba/Ontario)', ' Mexico:A', ' Portugal:M/6', ' Singapore:PG13', ' South Korea:All', ' (2015)', ' Sweden:7', ' Switzerland:6', ' United States:PG'], 'mpaa': 'Rated PG for thematic elements including some violence and sensual images'}, 'namesRefs': {}}

或者你可以使用:

movie = ia.get_movie("1640718", info='parents_guide')
print(movie['mpaa'])

输出:

Rated PG for thematic elements including some violence and sensual images

注意:“1640718”是IMDb标题的ID,不带“tt”,例如:https ://www.imdb.com/title/tt1640718

于 2020-04-11T02:49:18.793 回答