使用Cinemagoer/IMDbPy获取电影奖项始终为空的问题求助
解决Cinemagoer/IMDbPy获取电影奖项为空的问题
针对你遇到的《卡萨布兰卡》(ID tt0034583)奖项获取为空的情况,可按以下步骤排查解决:
升级Cinemagoer到最新版本
旧版本的库可能因IMDb页面结构更新导致抓取失效,执行以下命令升级:pip install --upgrade cinemagoer使用完整的IMDb ID格式
虽然库支持纯数字ID,但明确使用tt开头的完整ID(如tt0034583)能避免解析错误,降低获取失败概率。调整代码逻辑
尝试单独调用get_movie_awards方法并解析返回的结构化数据,修改后的代码示例:from imdb import Cinemagoer ia = Cinemagoer() movie_id = "tt0034583" # 获取电影基本信息 movie = ia.get_movie(movie_id) # 单独获取奖项数据 awards_data = ia.get_movie_awards(movie_id) # 打印解析后的奖项内容 print(f"《{movie['title']}》获奖情况:") if awards_data['data']: for category, items in awards_data['data'].items(): print(f"\n{category}:") for item in items: if 'award' in item: print(f"- {item['award']}") else: print("未获取到有效奖项数据,请检查网络连接或库版本")检查网络连接
确保你的网络能够正常访问IMDb网站,若存在网络限制,也会导致数据抓取失败。
内容的提问来源于stack exchange,提问作者Vincent Rivoire
相关产品推荐
相关产品推荐

