运行Python亚马逊爬虫代码报'DataFrame' object has no attribute 'url'如何解决
错误原因
你遇到的'DataFrame' object has no attribute 'url'报错,本质是pd.read_csv加载的prod_tracker数据表中,不存在名为url的列,因此无法通过.属性的方式访问对应字段。
解决步骤
- 第一步先确认数据表的实际列名,在导入csv的代码后加一行打印逻辑即可:
prod_tracker = pd.read_csv('TRACKER_PRODUCTS.csv', sep=';') # 新增这行打印所有列名 print(prod_tracker.columns.tolist())
运行后就能看到所有列的实际名称,常见的不匹配场景包括:列名大小写不符(比如实际是URL而非url)、列名带多余空格(比如 url、url )、拼写错误。
- 第二步匹配列名即可:如果是csv列名不符合预期,直接修改csv的表头为
url;如果不想改csv,就把获取url的代码换成对应列名即可,更推荐用方括号的方式访问列,避免列名和DataFrame内置方法/属性重名导致的异常:
# 假设实际列名是URL,就写成如下形式,注意引号和列名完全匹配 prod_tracker_URLS = prod_tracker['URL']
- 额外排查点:确认你当前运行代码的工作目录下,
TRACKER_PRODUCTS.csv是你准备的待爬取链接表,没有读错其他同名文件。
内容的提问来源于stack exchange,提问作者Dorra s
相关产品推荐
相关产品推荐

