您的具体问题可以通过谷歌搜索来解决。
这是一个解决方案
- 在 Google 中搜索“imdb [年份] [电影名称]”,
- 找到它的 IMDb 地址并获取 IMDb 页面,然后
- 在 IMDb 页面中搜索流派。
我将“浪漫”改为“浪漫”,将“情感”改为“戏剧”,以匹配 IMDb 词汇。
from requests import get
import re
titles=["2013+Conjuring", "2004+The+notebook"]
genres = ['horror', 'thriller', 'comedy', 'romance', 'drama']
matched_genres = {}
for title in titles:
query = "https://www.google.com/search?q=imdb+" + title
print(query)
search_result = get(query).text.lower()
imdb_id = re.findall("https://www.imdb.com/title/(tt\d+)/", search_result)[0]
imdb_address = "https://www.imdb.com/title/%s/" % imdb_id
print(imdb_address)
imdb_result = get(imdb_address).text.lower()
matched_genres[title] = []
for genre in genres:
# find ">genre<" inside tags
if imdb_result.find(">%s<" % genre) > -1:
matched_genres[title].append(genre)
print(matched_genres)
输出
https://www.google.com/search?q=imdb+2013+Conjuring
https://www.imdb.com/title/tt1457767/
https://www.google.com/search?q=imdb+2004+The+notebook
https://www.imdb.com/title/tt0332280/
{'2013+Conjuring': ['horror', 'thriller'], '2004+The+notebook': ['romance', 'drama']}
该解决方案可以通过以下方式改进
- 并行查询电影片名,
- 直接查询IMDb API,
- 处理边缘情况(例如,当第一个 IMDb url 不相关或没有找到 IMDb 页面时等),
等等。