如何计算python的价格金额

时间:2015-11-19 15:26:14

标签: python python-3.x web-crawler output

我试图从我成功完成的网页抓取一些价格

prices = item.find_all("span", {"class": "price"})
for price in prices:
    price_end = price.text.strip().replace(",","")[2:]
    print(price_end)

输出结果为:

13
36
50
65
12
52
60
85

因此我总共有8个价格。我的问题是,如何自动计算Python输出的价格?

我用len试了一下,但它只给了我相应数字的长度。

看起来很直接,但我一直跑到墙上。

你可以帮帮我吗?任何反馈都表示赞赏。

3 个答案:

答案 0 :(得分:1)

count = 0
prices = item.find_all("span", {"class": "price"})
for price in prices:
    price_end = price.text.strip().replace(",","")[2:]
    count += 1
    print(price_end)
print(count, " prices found")

答案 1 :(得分:1)

您可以将它们保存在列表中:

price_list=[]
prices = item.find_all("span", {"class": "price"})
for price in prices:
    price_end = price.text.strip().replace(",","")[2:]
    price_list.append(price_end)

print(len(price_list))
print('\n'.join(price_list))

(如果每个条目都有一个价格,len(prices)也可能有用......)

答案 2 :(得分:1)

您可能希望将价格存储在列表中。这是使用for循环的另一种方法。这称为列表理解:

prices = [
    price.text.strip().replace(",","")[2:]
    for price in item.find_all("span", {"class": "price"})
]

这是一个价格清单。然后,您可以打印价格数量和每个价格(此处使用字符串格式):

print("{price_count} prices: {prices}".format(
    price_count=len(price_list)),
    prices=prices,
)