You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Selenium读取Excel URL循环爬取商品价格报错求助

问题排查与解决步骤

1. 定位错误根源

这个报错的核心原因是你代码中把Pandas的Series对象(也就是DataFrame的整列数据)当成了可JSON序列化的类型使用,而Series本身不支持直接序列化。大概率是你读取URL时没有取到单个字符串,而是直接操作了整列数据。

2. 修正URL读取逻辑

确保循环时拿到的是单个URL字符串,而非整列Series:

方法一:遍历DataFrame的每一行

import pandas as pd
from selenium import webdriver

# 读取Excel文件
df = pd.read_excel("你的商品URL文件.xlsx")

# 遍历每一行,提取单个URL
for _, row in df.iterrows():
    # 替换成你Excel中存储URL的列名
    single_url = row["商品URL列名"]
    # 后续Selenium操作
    driver = webdriver.Chrome()
    driver.get(single_url)
    # 爬取价格的逻辑...
    driver.quit()

方法二:把Series转成字符串列表再循环

urls_list = df["商品URL列名"].tolist()  # 将整列转成字符串列表
for url in urls_list:
    driver.get(url)
    # 爬取价格的逻辑...

3. 排查其他序列化场景

如果修正后仍报错,检查代码中是否有json.dumps()相关操作,若需要序列化数据,要先把Series转成列表或字典:

  • 错误示例:json.dumps(df["商品URL列名"])
  • 正确写法:json.dumps(df["商品URL列名"].tolist()) 或 json.dumps(row.to_dict())

4. 验证Excel数据格式

确认Excel中URL列是纯字符串格式,没有合并单元格、空值或格式异常。可以在循环中打印URL类型验证:

print(type(single_url))  # 正常应输出 <class 'str'>

内容的提问来源于stack exchange,提问作者Georgios Paschalidis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 00:02:25