我试图从我成功完成的网页抓取一些价格
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试了一下,但它只给了我相应数字的长度。
看起来很直接,但我一直跑到墙上。
你可以帮帮我吗?任何反馈都表示赞赏。答案 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,
)