Cложение чисел забраных при парсинге

Есть сайт - https://parsinger.ru/html/index1_page_1.html Я спарсил с него цены на часы, и вывел их в консоли. Я хочу сложить полученные числа, но способа кроме как сложить их и занести в переменную я не знаю, я бы хотел сделать это автоматически, даже если бы чисел было бы больше, они бы все равно автоматически складывались бы и выводились.

from bs4 import BeautifulSoup
import requests
import lxml

url = 'https://parsinger.ru/html/index1_page_1.html'
response = requests.get(url=url)
response.encoding = 'utf-8'
soup = BeautifulSoup(response.text, 'lxml')
div = soup.find('div','item_card').find_all('p','price')

for txt in div:
    print(txt.text)

sumPrice = 2310+5480+21810+21810+27770+27770+24230+32600
print(sumPrice) 

Ответы (2 шт):

Автор решения: Mr.Framon

У вас txt.text возвращает str, вам нужно преобразвать в int, но так как у вас там присутствует не только число, нужно сделать замену, txt.text.replace("руб", "")

import requests
from bs4 import BeautifulSoup

url = 'https://parsinger.ru/html/index1_page_1.html'
response = requests.get(url=url)
response.encoding = 'utf-8'
soup = BeautifulSoup(response.text, 'lxml')
div = soup.find('div','item_card').find_all('p','price')

sumPrice = 0

for txt in div:
    print(f"Цена: {txt.text}")
    price = int(txt.text.replace("руб", ""))
    sumPrice = sumPrice+price

print(f"Общай сумма: {sumPrice} руб")
→ Ссылка
Автор решения: Fatum
from bs4 import BeautifulSoup
import requests

url = 'https://parsinger.ru/html/index1_page_1.html'

response = requests.get(url=url)
response.encoding = 'utf-8'
soup = BeautifulSoup(response.text, 'lxml')

divs = soup.find_all('p', class_='price') 
prices = [price.text.strip(' руб') for price in divs] # создаём список с ценами

print(sum(list(map(int, prices)))) # преобразуем текст к числам и суммируем
→ Ссылка