无法将字符串转换为浮动

时间:2021-03-08 22:31:32

标签: python

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:无法将字符串转换为浮点数。 提前致谢!

1 个答案:

答案 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)

现在编写一些代码来仅从那里提取有用的东西。首先,您需要查看您真正想要哪个元素,然后一旦找到该元素,就使用子字符串来获取数字。然后您可以将其转换为浮点数。

如果有帮助,请选择此作为解决方案