使用IMDBPY从IMDB获取最新电影数据

时间:2018-12-20 20:50:17

标签: python database imdb imdbpy

我找不到一种方法来获取有关2018年发行电影的详细数据,而对于老电影来说一切正常。我使用默认的“ http”访问权限(如此处所述:https://imdbpy.sourceforge.io/docs/README.package.txt

如何访问更新的数据?

假设我想查看有关2018年冬季发布的Aquaman的详细信息:

>>> aq = ia.search_movie('Aquaman')
>>> aq = aq[0]
>>> print(aq.keys())
['title', 'kind', 'year', 'canonical title', 'long imdb title', 'long imdb canonical title', 'smart canonical title', 'smart long imdb canonical title']

但是对于Deadpool来说一切正常,这是一部很老的电影! (我使用此示例进行测试:get the company info for a movie from IMDB using IMDBPY,因此在2018年之前的记录都可以)

 print(dp.keys())

['title', 'kind', 'year', 'cast', 'genres', 'runtimes', 'countries', 'country codes', 'language codes', 'color info', 'aspect ratio', 'sound mix', 'certificates', 'original air date', 'rating', 'votes', 'cover url', 'plot outline', 'languages', 'directors', 'writers', 'producers', 'composers', 'cinematographers', 'editors', 'editorial department', 'casting directors', 'production designers', 'art directors', 'set decorators', 'costume designers', 'make up department', 'production managers', 'assistant directors', 'art department', 'sound department', 'special effects', 'visual effects', 'stunts', 'camera department', 'animation department', 'casting department', 'costume departmen', 'location management', 'music department', 'transportation department', 'miscellaneous', 'thanks', 'akas', 'writer', 'director', 'production companies', 'distributors', 'special effects companies', 'other companies', 'plot', 'synopsis', 'canonical title', 'long imdb title', 'long imdb canonical title', 'smart canonical title', 'smart long imdb canonical title', 'full-size cover url']

因此,我希望能够像为Deadpool一样获取Aquaman的公司数据,因为该数据已经在imdb网页上了。

1 个答案:

答案 0 :(得分:0)

由于search_movie()返回一个以“ year”作为参数之一的电影对象的列表,因此您可以搜索所需的字符串,然后按年份过滤。

>>> deadpool_matches = ia.search_movie('Deadpool')
>>> deadpool_movies_2018 = [ m for m in deadpool_matches if m['year'] == '2018' ]
>>> likely_best_match = deadpool_movies_2018[0]

编辑:由于您将Deadpool称为“相当[一部]老电影!”,听起来您是在引用1988年的Dirty Harry电影,并试图消除类似的标题或2016年的标题“死侍”电影(很难说是一部“老电影”),以便获得2018年的续集。我现在看到的是,当尝试从2018年提取电影信息时,您是说即使该信息仅适用于2018年之前的电影,也不会再回来。

update(aq[0])会填充它吗?