如何使用IMDb库爬取俄语或其他语言的title与genres数据?
修改Python代码获取俄语电影标题与流派
要获取俄语的电影标题和流派,你需要在初始化IMDb实例时指定目标语言,同时调整字段的获取方式:
- 初始化IMDb对象时指定俄语语言:创建
IMDb实例时传入language='ru'参数,让库优先拉取俄语本地化数据。 - 获取本地化标题:使用
movie.get('localized title')获取俄语标题,若该字段不存在则降级使用原始标题。 - 获取俄语流派:指定语言后,
movie['genres']会自动返回俄语流派名称。 - 本地化剧情简介:剧情简介的本地化数据需要从字典中按语言键提取,同样做降级处理避免报错。
修改后的代码如下:
from imdb import IMDb def scrape_movie_info(movie_id): # 初始化IMDb实例并指定俄语 ia = IMDb('http', useModule='http', language='ru') # 获取包含本地化信息的电影数据 movie = ia.get_movie(movie_id, info=['main', 'localized']) # 获取俄语标题(无本地化则用原始标题) ru_title = movie.get('localized title') or movie["title"] print("Название: ", ru_title) print("Рейтинг: ", movie["rating"]) print("Жанры: ", movie["genres"]) # 获取俄语剧情简介(无本地化则用原始简介) ru_plot = movie.get('plot outline', {}).get('ru') or movie["plot outline"] print("Описание: ", ru_plot) movie_id = "20225374" scrape_movie_info(movie_id)
其他语言适配说明
如果需要获取其他语言的数据,只需将language参数替换为对应语言代码即可:
- 中文:
language='zh' - 西班牙语:
language='es' - 法语:
language='fr'
内容的提问来源于stack exchange,提问作者WinnieNotThePooh
相关产品推荐
相关产品推荐

