Красивый текст извлечения супа между тегами span - PullRequest
0 голосов
/ 12 октября 2018
<span id="priceblock_dealprice" class="a-size-medium a-color-price"><span class="currencyINR">&nbsp;&nbsp;</span> 33,990.00 </span>

Мне нужно извлечь числа 33 990,00 из приведенного выше HTML.

Ответы [ 3 ]

0 голосов
/ 12 октября 2018

С красивой парой:

from bs4 import BeautifulSoup as bs

content = '''<span id="priceblock_dealprice" class="a-size-medium a-color-price"><span class="currencyINR">&nbsp;&nbsp;</span> 33,990.00 </span>'''

soup = bs(content,'html5lib')
print(soup.text.strip())
0 голосов
/ 12 октября 2018

Зачем использовать selenium?Это так ненужно.Используйте selenium только если страница обработана с помощью JavaScript.В противном случае используйте следующее:

from bs4 import BeautifulSoup
html = '<span id="priceblock_dealprice" class="a-size-medium a-color-price"><span class="currencyINR">&nbsp;&nbsp;</span> 33,990.00 </span>'
soup = BeautifulSoup(html, 'lxml')
text = soup.select_one('span.a-color-price').text.strip()

Вывод:

33,990.00
0 голосов
/ 12 октября 2018

Это хорошая работа для селена :

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

browser = webdriver.Firefox()

browser.get(URL)

delay = 30  # seconds
WebDriverWait(browser, delay).until(EC.presence_of_element_located((By.ID, 'priceblock_dealprice')))
print("Page is ready!")

text = browser.find_element_by_id("priceblock_dealprice").text
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...