Я пытаюсь получить цену с веб-сайта, использующего BeautifulSoup, и до сих пор мне удалось получить:
<h2>£<!-- -->199.99</h2>
Я просто хочу получить £ 199,99. Есть ли способ отфильтровать буквы?
Заранее спасибо
Вы будете использовать get_text функцию с полоской = True для очистки при необходимости
get_text
from bs4 import BeautifulSoup html = '<h2>£<!-- -->199.99</h2>' soup = BeautifulSoup(html,'html5lib') result = soup.find('h2').get_text(strip=True) print(result) #£199.99
Использовать re?
import re s = "<h2>£<!-- -->199.99</h2>" rx_price = re.compile(r'([0-9.]+)') content = re.sub(r'<.+?>', '', s) print (f"£{rx_price.findall(content)[0]}")
Вывод:
£199.99