Python 在单页BS4上获取多个价格

Python 在单页BS4上获取多个价格,python,parsing,web-scraping,beautifulsoup,html-parsing,Python,Parsing,Web Scraping,Beautifulsoup,Html Parsing,我正在创建一个帮助我学习但对我也很有用的网站。我希望能够从一个页面解析()中的多个价格,将它们转换为数字并求平均值。该页面将更改,以便一天有3个价格,第二天有20个价格。我正在挣扎的部分是分离价格,以便我可以使用它们。 到目前为止,我已经: page = requests.get(URL, headers=headers) soup = BeautifulSoup(page.content, 'html.parser') price = soup.find_all(class_=('pro

我正在创建一个帮助我学习但对我也很有用的网站。我希望能够从一个页面解析()中的多个价格,将它们转换为数字并求平均值。该页面将更改,以便一天有3个价格,第二天有20个价格。我正在挣扎的部分是分离价格,以便我可以使用它们。 到目前为止,我已经:

page = requests.get(URL, headers=headers)

soup = BeautifulSoup(page.content, 'html.parser')


price = soup.find_all(class_=('prods_price'))
for price in price:
    price = price.text
    price = " ".join(price.split())
    price = price.split('£')
    price = [y.replace(',', '') for y in price]
    price = list(map(int, price[1:]))
    print(price)
这让我

[9450]
[8750]
[8450]

考虑到价格的数量可能会发生变化,我如何区分这些?或者BS4有没有一种方法可以在不进行循环的情况下获得所有这些信息?

这将提供所有价格的平均值

URL = 'https://www.watchfinder.co.uk/search?q=114060&orderby=AgeNewToOld'
page = requests.get(URL)
soup = BeautifulSoup(page.content, 'html.parser')

prices = soup.find_all(class_=('prods_price'))
price_list  = [int((price.text).replace('£', '').replace(',', '')) for price in prices]
print(price_list)

def Average(lst): 
    return sum(lst) / len(lst)

print(Average(price_list))
输出:

[925087508450]

8816.666666


你的预期产量是多少?我希望能够把这些平均化,并不是所有的英雄都穿斗篷