1 回答

TA贡献1818条经验 获得超8个赞
问题来自您正在使用的以下几行int():
discounted_percent= int(product.xpath(".//div[@class='c-price__discount-oval']/span/text()").get())
discounted_price= int(product.xpath(".//div[@class='c-price__value-wrapper']/text()").get())
original_price= int(product.xpath(".//div[@class='c-price__value c-price__value--plp']/del/text()").get())
但是,您还必须为discounted_priceand执行此original_price操作,确保没有非数字字符,例如%或 货币符号。
这是因为您不能int()在使用非数字字符的字符串上使用,例如int("20%")
一个快速的解决方案是删除这些字符。在以下情况下discounted_percent:
discounted_percent = int(str(product.xpath(".//div[@class='c-price__discount-oval']/span/text()").get().strip()).replace('٪', ''))
添加回答
举报