AgeofCreations
@AgeofCreations
Python, AsyncIO, AMQP

Как достать строку из HTML?

Существует элемент:
<td class="text" align="center" style="font-family: Arial, sans-serif; color:#646464; font-size: 13px; line-height: 15px; text-decoration: line-through;">
																<span style="font-family: Arial, sans-serif; color:#646464; font-size: 13px; line-height: 15px; text-decoration: line-through;">
																	53.63 Р<!-- <span class="oldprice4">53,63</span> -->
																</span>
															</td>

Как достать отсюда 53.63 Р в Beautiful Soup 4?
  • Вопрос задан
  • 179 просмотров
Решения вопроса 2
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
Раз в тегах LXML:

>>> stroka = """<td class="text" align="center" style="font-family: Arial, sans-serif; color:#646464; font-size: 13px; line-height: 15px; text-decoration: line-through;">
...                                 <span style="font-family: Arial, sans-serif; color:#646464; font-size: 13px; line-height: 15px; text-decoration: line-through;">
...                                   53.63 Р<!-- <span class="oldprice4">53,63</span> -->
...                                 </span>
...                               </td>"""
>>> from lxml import etree
>>> from io import StringIO
>>> parser = etree.HTMLParser()
>>> tree   = etree.parse(StringIO(stroka), parser)
>>> tree.xpath('.//td/span')[0].text
'\n                                  53.63 Р'


Либо уже с очисткой результата:

>>> tree.xpath('.//td/span')[0].text.replace('\n','').strip()
'53.63 Р'
Ответ написан
Комментировать
qlkvg
@qlkvg
python backend developer
bs_stroka = bs4.BeautifulSoup(stroka)
bs_stroka.find('td').get_text().strip()


Как и в прошлый раз, пример есть в quick start
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы