【问题标题】:imdbpy rating data missingimdbpy 评级数据丢失
【发布时间】:2015-11-11 05:55:57
【问题描述】:


我对 python 的 imdbpy 模块有疑问,出于某种原因,即使它们存在于 imdb.com 网站上,我也无法检索有关电视节目的一些数据。
例如,如果我使用此代码:

from imdb import IMDb
i = IMDb()
s = i.search_movie('killjoys')
m = i.get_movie(s[0].movieID)
print m.get('rating') 

结果为 ,即使在 imdb.com 上可用 那么我应该在这里做什么?并感谢您的帮助:)

【问题讨论】:

    标签: python-2.7 imdb imdbpy


    【解决方案1】:

    考虑两件事:

    1. 查询结果列表中的电影对象仅包含有限的数据(您可以通过网络搜索看到的数据)。
    2. 对于一个系列,“组合”页面不显示评级。

    因此,在您的示例中,第一个结果将引用 imdbID 3952222。 您可以使用以下方法更新(主要)信息:

    i.update(m)
    

    但这只会添加主要信息,默认情况下(来自http://www.imdb.com/title/tt3952222/combined 页面的信息)

    因此,您还需要解析“投票详情”页面:

    i.update(m, ['main', 'vote details'])
    

    (如果您不需要获取和解析主要详细信息,则只需“投票详细信息”)。

    【讨论】:

    • 感谢老兄的帮助,但我放弃了这不仅仅是因为它也不能正确处理非 ascii 字符,我找到了一个更好的库,叫做 omdb,它就像一个魅力;)
    【解决方案2】:

    我找到的解决方案是使用另一个名为 omdb

    的库
    import omdb
    tv_show_name = "hannibal"
    movie = omdb.get(title=tv_show_name, fullplot=True, media_type="series")
    rating = movie.imdb_rating
    

    你去吧,这可能有一天会帮助某人;)

    【讨论】:

    • 查看下面的 David Albernai 的解决方案后,您只需更新 IMDb 对象即可加载所有结果。此外,omdb 的设计不如 IMDbPY IMO。
    猜你喜欢
    • 2018-07-24
    • 2015-03-20
    • 2012-10-14
    • 1970-01-01
    • 2018-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多