4

人口統計 (性別、年齢層) ごとに IMDb レーティングの詳細を収集したいと思います。

imdbpy で get_movie_vote_details モジュールを使用しようとすると、出力が空になります。これが私のコードです:

 import imdb

 i =  imdb.IMDb(accessSystem='http')

 movie = i.get_movie('0780504')

 print(movie)

 votes = i.get_movie_vote_details('0780504')

 print(votes)

出力は次のとおりです。

print(m)

ドライブ

print(votes)

{'charactersRefs': {}、'data': {}、'namesRefs': {}、'titlesRefs': {}}

ご覧のとおり、「votes」の出力は少しずれています。imdbpy を使用して評価の詳細を抽出する方法はありますか?

4

1 に答える 1

2

.get_movie_XYZ(...)メソッドを直接呼び出すことは想定されていません。これらは、 IMDb().update(...)メソッドを使用して Movie インスタンスを更新するために内部的に使用されます。

例えば:

import imdb

i = imdb.IMDb(accessSystem='http')

movie = i.get_movie('0780504')
i.update(movie, 'vote details')
print(movie.get('mean and median')

利用可能なすべての情報セットを知りたい場合は、i.get_movie_infoset();を呼び出します。特定の情報セットが更新されたときに Movie インスタンスのどのキーが追加されたかを確認するには、movie.infoset2keyマッピングを使用します。

詳細については、公式ドキュメントを参照してください。

データの形式に関して、このコード:

from imdb import IMDb
ia = IMDb()
m = ia.get_movie('0780504', 'vote details')
print('median', m.get('median'))
print('arithmetic mean', m.get('arithmetic mean'))
print('number of votes', m.get('number of votes'))
print('demographics', m.get('demographics'))

次のようなものが出力されます。 median 8 arithmetic mean 7.8 number of votes {1: 8626, 2: 4135, 3: 5762, 4: 9264, 5: 17595, 6: 39440, 7: 84746, 8: 133331, 9: 98870, 10: 75737} demographics {'imdb staff': {'rating': 7.8, 'votes': 36}, 'aged under 18': {'rating': 8.5, 'votes': 844}, 'non us users': {'rating': 7.8, 'votes': 250586}, 'top 1000 voters': {'rating': 7.6, 'votes': 739}, 'males aged 45 plus': {'rating': 7.4, 'votes': 24213}, 'aged 45 plus': {'rating': 7.4, 'votes': 28779}, 'aged 18 29': {'rating': 7.9, 'votes': 183217}, 'us users': {'rating': 8.0, 'votes': 71299}, 'aged 30 44': {'rating': 7.7, 'votes': 181063}, 'males aged under 18': {'rating': 8.5, 'votes': 705}, 'males aged 30 44': {'rating': 7.8, 'votes': 152988}, 'females aged under 18': {'rating': 7.9, 'votes': 133}, 'males aged 18 29': {'rating': 8.0, 'votes': 148749}, 'females aged 45 plus': {'rating': 7.4, 'votes': 4004}, 'imdb users': {'rating': 7.8, 'votes': 477506}, 'females aged 18 29': {'rating': 7.6, 'votes': 32575}, 'females': {'rating': 7.6, 'votes': 65217}, 'males': {'rating': 7.9, 'votes': 341617}, 'females aged 30 44': {'rating': 7.5, 'votes': 25465}}

于 2017-11-13T22:55:42.923 に答える