【问题标题】:IMDB suggestionsIMDB 建议
【发布时间】:2014-02-24 10:32:54
【问题描述】:

我想制作一种自制算法,它会从我拥有的所有电影列表中返回关于我没看过但我可能喜欢的电影的准确建议。但为此我需要知道 IMDBpy 是否可以返回“建议”部分。 事实上,当您在网站上搜索电影时,您会看到与您搜索的电影类型相匹配的电影列表。

但我在 IMDBpy 的文档上找不到答案。有没有办法获得建议?

【问题讨论】:

标签: python api imdb imdbpy


【解决方案1】:

Link!

这里有一行:

def get_movie_recommendations(self, movieID):

也许这可以引导你走向正确的方向。

【讨论】:

    【解决方案2】:

    由于 get_movie_recommendations 并没有真正如你所愿地工作(例如,它不会为奴隶 12 年返回任何东西),你可以使用 BeautifulSoup 来收集建议。

    import bs4
    import imdb
    import requests
    
    src = requests.get('http://www.imdb.com/title/tt2024544/').text
    bs = bs4.BeautifulSoup(src)
    recs = [rec['data-tconst'][2:] for rec in bs.findAll('div', 'rec_item')]
    print recs
    

    打印出来:

    ['1535109', '0790636', '1853728', '0119217', '2334649', '0095953', '1935179', '2370248', '1817273', '1210166', '0169547', '1907668']
    

    之后,您可以使用 IMDBpy 搜索那些电影...

    ia = imdb.IMDb()
    for rec in recs:
      movie = ia.get_movie(rec)
      print movie.movieID, movie.get('title')
    

    ...输出:

    1535109 Captain Phillips
    0790636 Dallas Buyers Club
    1853728 Django Unchained
    0119217 Good Will Hunting
    2334649 Fruitvale Station
    0095953 Rain Man
    1935179 Mud
    2370248 Short Term 12
    1817273 The Place Beyond the Pines
    1210166 Moneyball
    0169547 American Beauty
    1907668 Flight
    

    【讨论】:

    • 好的,谢谢:)。我当然想避免使用美汤,但如果我做不到,我会使用它。你知道为什么 get_recommandations 不起作用吗?
    • get_movie_recommendations 从电影的 /recommendations 页面获取信息,该页面对于最近的电影似乎是空的。有推荐的电影,例如低俗小说(imdb.com/title/tt0110912/recommendations),但这些与电影主页上“喜欢这个的人也喜欢......”下的那些不同(我在上面的示例中获取的那些)。看看哪些更适合你的自制算法:)
    猜你喜欢
    • 2014-12-15
    • 2020-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-11
    • 2011-11-06
    • 1970-01-01
    相关资源
    最近更新 更多