我正在尝试使用 Imdbpy 从电影和电视节目中获取父母指南,但我不知道如何。我在源代码中可以看到一些对“家长指南”的引用,所以我希望它可以用Imdbpy来完成。
有人可以帮助我或指出正确的方向吗?:)
谢谢!
您可以使用以下代码从 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 中寻找我可能会忽略的任何功能。
对于那些不熟悉 imdbpy 的人,我相信阅读我的其他答案有助于理解信息集。
这是我在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