Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 6, 2016 23:39:37

DimonSP
Зарегистрирован: 2016-01-06
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Извлечь текст с HTML-разметкой из DIVа

Привет всем!
Прошу помочь разобраться в проблеме:
Парсится страница, нужный HTML-блок находится внутри тега DIV с конкретным именем.
Содержимое Дива успешно выдирается с помощью команды:
tag = html.xpath("//div").text_content()
Однако стирается вся HTML-разметка, а нам нужно наоборот оставить ВСЕ теги: br, p и др.

Кажется код при размещении сообщения искажается, поэтому см. прилепленную картинку.

Прикреплённый файлы:
attachment xpath.png (4,9 KБ)

Офлайн

#2 Янв. 7, 2016 01:43:52

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Извлечь текст с HTML-разметкой из DIVа

Так ты не бери text_content() у найденного узла.

>>> import lxml.html
>>> 
>>> doc = lxml.html.fromstring('<a><b><c>d</c><e>f</e></b></a>')
>>> nodes = doc.xpath(r'//b/*')
>>> 
>>> text = ''.join(lxml.html.tostring(i, encoding='unicode')
...                for i in nodes)
>>> text
'<c>d</c><e>f</e>'
>>>



Отредактировано py.user.next (Янв. 7, 2016 01:50:14)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version