получение последних данных фильма из IMDB с использованием IMDBPY - PullRequest
0 голосов
/ 20 декабря 2018

Я не могу найти способ получения подробных данных о фильмах, выпущенных в 2018 году, хотя все работает хорошо для старых фильмов.Я использую доступ по умолчанию 'http' (как описано здесь: https://imdbpy.sourceforge.io/docs/README.package.txt)

Как получить доступ к обновленным данным ???

Допустим, я хочу увидеть подробности об Aquaman, который выйдет зимой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']

Однако все работает отлично для Deadpool, который является довольно старым фильмом! (Я использую этот пример для проверки: получить информацию о компании для фильма из 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 Ответ

0 голосов
/ 21 декабря 2018

Поскольку 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]

EDIT : Поскольку вы называли Дэдпул «довольно старым фильмом!», Звучало так, будто вы обращались к фильму «Грязный Гарри» 1988 года и пытались исключить подобные названия или фильм «Дэдпул» 2016 года (вряд ли"старый фильм"), чтобы получить продолжение 2018 года.Теперь я вижу, что, пытаясь извлечь информацию о фильмах с 2018 года, вы говорите, что информация просто не возвращается, даже если она работает для фильмов до 2018 года.

Заполняет ли ее update(aq[0])?

...