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

Python网络爬虫:如何将抓取的带欧元符号的价格字符串转为数字?

解决思路

方案1:直接读取标签的content属性(最优方案)

你抓取的<span>标签本身就内置了结构化的价格数值,在content属性中直接是标准的小数点格式53.56,不需要处理任何文本内容:

# 直接读取属性值再转浮点数即可
tyre_price = tyre_box.find('span',class_ = 'list-item-formatted-price')['content']
price = float(tyre_price)

这种方法容错率最高,不需要处理排版、符号等可能随页面变化的内容。

方案2:手动处理价格文本

如果需要自行解析页面显示的文本,按以下步骤处理即可:

  1. 清理所有空白字符(换行、空格等)
  2. 把欧洲格式价格的逗号(作为小数点分隔符)替换为标准小数点
  3. 移除欧元符号€
  4. 再转换为浮点数
    示例代码:
tyre_price = tyre_box.find('span',class_ = 'list-item-formatted-price').text
# 清理并转换
processed_price = tyre_price.replace('\n','').replace(' ','').replace(',','.').replace('€','')
price = float(processed_price)

你之前的代码报错是因为处理后的文本还保留了逗号、空格和欧元符号,不符合float类型的格式要求。

内容的提问来源于stack exchange,提问作者Mattia Costola

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 21:24:07