我想做一种自制的算法,从我拥有的所有电影列表中,它会返回我没看过但我可能喜欢的电影的准确建议。但为此我需要知道 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