【发布时间】:2014-02-24 10:32:54
【问题描述】:
我想制作一种自制算法,它会从我拥有的所有电影列表中返回关于我没看过但我可能喜欢的电影的准确建议。但为此我需要知道 IMDBpy 是否可以返回“建议”部分。 事实上,当您在网站上搜索电影时,您会看到与您搜索的电影类型相匹配的电影列表。
但我在 IMDBpy 的文档上找不到答案。有没有办法获得建议?
【问题讨论】:
我想制作一种自制算法,它会从我拥有的所有电影列表中返回关于我没看过但我可能喜欢的电影的准确建议。但为此我需要知道 IMDBpy 是否可以返回“建议”部分。 事实上,当您在网站上搜索电影时,您会看到与您搜索的电影类型相匹配的电影列表。
但我在 IMDBpy 的文档上找不到答案。有没有办法获得建议?
【问题讨论】:
【讨论】:
由于 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
【讨论】: