Да, вы можете извлечь отзывы, используя IMDbPY. Colab Notebook .
# to install the imdbpy library, just including it for noob-friendliness
pip install imdbpy
Вот что вам нужно понять об IMDbPY: он извлекает данные из IMDB для различных объектов, таких как mov ie, person и company, используя методы get_mov ie, get_person и get_company соответственно. Однако дело в том, что есть много информации для извлечения и извлечения всего, что может быть не лучшим решением (так как это потребует времени и полосы пропускания). Таким образом, данные сгруппированы в небольшие части информации, известной как «информационный набор».
Код для извлечения mov ie «Матрица (1999)».
(Примечание: «0133093» - это идентификатор заголовка IMDb без «tt», пример: https://www.imdb.com/title/tt0133093/)
from imdb import IMDb
ia = IMDb()
theMatrix = ia.get_movie('0133093')
По умолчанию объект mov ie имеет Следующая информация устанавливает 'main', 'plot', 'synopsis', вы можете проверить это, используя .current_info . Теперь, как мы могли видеть из этого, объект mov ie по умолчанию не получает набор информации «reviews».
theMatrix.current_info
#output:
['main', 'plot', 'synopsis']
Мы можем передать необязательный аргумент "info =" методу get_mov ie, если вы знаете, какие наборы информации вы хотите получить. В этом случае 'reviews'.
theMatrix = ia.get_movie('0133093',['reviews'])
theMatrix.current_info
#output:
['reviews']
theMatrix['reviews']
#output:
[{'author': 'ur0540275',
'content': "The story of a reluctant Christ-like protagonist...",
'date': '19 September 2000',
'helpful': 0,
'not_helpful': 0,
'rating': 1,
'title': ''},
{'author': 'ur15794099',
'content': '** May contain spoilers **There aren\'t many movies...',
'date': '26 July 2014',
...
...
Если у вас уже есть объект mov ie, и вы хотите добавить еще несколько информационных наборов без необходимости повторного извлечения всего объекта mov ie, тогда может помочь update .
theMatrix = ia.get_movie('0133093')
theMatrix.current_info
#output
['main', 'plot', 'synopsis']
ia.update(theMatrix,['reviews'])
theMatrix.current_info
#output
['main', 'plot', 'synopsis', 'reviews']
Оба способа, описанные выше, могут помочь вам получить не только «отзывы», но и любые дополнительные наборы информации, которые вы хотите получить. Однако вам необходимо знать, какие доступные информационные наборы поддерживает каждый объект (mov ie, человек или компания). Для этого вы можете использовать методы ia.get_movie_infoset, ia.get_person_infoset или ia.get_company_infoset соответственно.
sorted(ia.get_movie_infoset())
#output:
['airing',
'akas',
'alternate versions',
'awards',
'connections',
'crazy credits',
'critic reviews',
'episodes',
'external reviews',
...
...
'release dates',
'release info',
'reviews',
'sound clips',
'soundtrack',
'synopsis',
'taglines',
'technical',
'trivia',
'tv schedule',
'video clips',
'vote details']
Со всей этой теорией, чтобы лучше узнать и понять imdbpy. Вот один вкладыш для получения отзывов о mov ie:)
ia.get_movie_reviews('0133093')
#output:
[{'author': 'ur0540275',
'content': "The story of a reluctant Christ-like protagonist...",
'date': '19 September 2000',
'helpful': 0,
'not_helpful': 0,
'rating': 1,
'title': ''},
{'author': 'ur15794099',
'content': '** May contain spoilers **There aren\'t many movies...',
'date': '26 July 2014',
...
...