如何使用ImdbPy抓取IMDB电影信息并添加到pandas现有数据框
实现批量查询并写入数据框的代码
首先导入依赖并初始化IMDb实例:
import pandas as pd import imdb # 全局初始化IMDb实例,仅需执行一次,避免重复创建降低效率 ia = imdb.IMDb()
然后定义单条ID的查询函数,增加异常捕获避免个别ID查询失败导致整个任务中断:
def fetch_movie_data(title_id): try: # 若你的titleId字段带tt前缀(如tt2082197),请取消注释下一行代码删除前缀 # title_id = title_id.removeprefix('tt') movie = ia.get_movie(title_id) # 同时返回电影名和年份,可按需增加其他返回字段 return pd.Series([movie["title"], movie["year"]]) except Exception: # 查询失败时返回空值,可按需修改为默认提示值 return pd.Series([None, None])
最后批量应用函数到整个titleId列,自动生成新列:
# 一次性生成电影名称、电影年份两个新列 df[["movie_name", "movie_year"]] = df["titleId"].apply(fetch_movie_data)
注意事项
- 你的数据量仅50-60条,无需额外配置并发或限速,正常运行后几十秒即可完成所有查询
- 若部分行返回空值,可单独校验对应
titleId是否有效,也可在异常捕获代码中增加报错打印定位问题
内容的提问来源于stack exchange,提问作者sana ullah
相关产品推荐
相关产品推荐

