Получение последних данных фильма из IMDB с использованием IMDBPY
Я не могу найти способ получить подробные данные о фильмах, выпущенных в 2018 году, хотя все работает хорошо для старых фильмов. Я использую доступ по умолчанию "http" (как описано здесь: https://imdbpy.sourceforge.io/docs/README.package.txt)
Как получить доступ к обновленным данным???
Допустим, я хочу увидеть подробности об Аквамене, который выйдет зимой 2018 года:
>>> 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']
Однако для Дэдпула все отлично работает, это довольно старый фильм! (Я использую этот пример для проверки: получите информацию о компании для фильма из IMDB, используя 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']
Итак, я надеюсь, что смогу получить данные компании для Aquaman так же, как это делается для Deadpool, потому что эти данные уже находятся на веб-странице imdb.
1 ответ
Поскольку search_movie()
возвращает список объектов фильма, у которых в качестве одного из параметров указан год, вы можете найти нужную строку, а затем отфильтровать по году.
>>> 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]
РЕДАКТИРОВАТЬ: Поскольку вы называли Дэдпул "довольно старый фильм!", Звучало так, как будто вы ссылались на фильм "Грязный Гарри" 1988 года и пытались исключить такие названия или фильм "Дэдпул" 2016 года (вряд ли "старый фильм" "), чтобы получить продолжение 2018 года. Теперь я вижу, что, пытаясь извлечь информацию о фильмах с 2018 года, вы говорите, что информация просто не возвращается, даже если она работает для фильмов до 2018 года.
Есть ли update(aq[0])
заселить это?