Форум сайта python.su
0
Привет всем!
Прошу помочь разобраться в проблеме:
Парсится страница, нужный HTML-блок находится внутри тега DIV с конкретным именем.
Содержимое Дива успешно выдирается с помощью команды:
tag = html.xpath("//div").text_content()
Однако стирается вся HTML-разметка, а нам нужно наоборот оставить ВСЕ теги: br, p и др.
Кажется код при размещении сообщения искажается, поэтому см. прилепленную картинку.
Прикреплённый файлы:
xpath.png (4,9 KБ)
Офлайн
857
Так ты не бери 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)
Офлайн