def check_price():
page = requests.get(URL, headers=headers)
soup = BeautifulSoup(page.content, "html.parser")
title = soup.find(itemprop="name").get_text()
price = soup.find(itemprop="price").get_text()
converted_price = float(price[0:6])
if(converted_price < 450.00):
send_email()
print(title.strip())
print(converted_price)
你好,
我的控制台不断写入 valueError:无法将字符串转换为浮点数。 提前致谢!
答案 0 :(得分:0)
在没有获得更多信息的情况下很难回答这个问题。我假设您的错误在这一行:
converted_price = float(price[0:6])
price[0:6] 是一个数组。您不能像那样将数组转换为浮点数。另外,每个元素甚至可能不是数字,可能是这样的:
[<a class="sister" href="http://example.com/elsie" id="link1">Elsie</a>,
<a class="sister" href="http://example.com/lacie" id="link2">Lacie</a>,
<a class="sister" href="http://example.com/tillie" id="link3">Tillie</a>]
这就是我要做的。首先打印出价格,以确定它到底是什么。
print(price)
现在编写一些代码来仅从那里提取有用的东西。首先,您需要查看您真正想要哪个元素,然后一旦找到该元素,就使用子字符串来获取数字。然后您可以将其转换为浮点数。
如果有帮助,请选择此作为解决方案