Очистка данных от html - PullRequest
       104

Очистка данных от html

0 голосов
/ 22 марта 2020

Я пытаюсь очистить часть данных, которую извлекаю с помощью веб-сэмпинга. Код HTML, содержащий данные, следующий:

<li class="price-was">
    $1,699.00
    <span class="price-was-data" style="display: none">1699.00</span>
</li>

Для извлечения данных я использую следующую строку кода:

price_products_before = product.findAll("li",{"class":"price-was"})
PriceBefore = price_products_before[0].text

Я использую это потому, что данные похожи на:

'\r\n       $1,699.00\r\n            1699.00\n'

Используя следующую строку кода, мне удалось как-то немного ее почистить, но у меня все еще вдвое больше числа.

PriceBefore = price_products_before[0].text.strip().replace("\r\n","")

Мне нужно один раз 1699 без пробелов \ r или \ n.

1 Ответ

1 голос
/ 22 марта 2020
from bs4 import BeautifulSoup

html = """<li class="price-was">
    $1,699.00
    <span class="price-was-data" style="display: none">1699.00</span>
</li>"""

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

try:
    print(soup.find("li", class_="price-was").next_element.strip())
except:
    print("Not Found")

Выход:

$1,699.00
...