Невероятно простые вопросы lxml: получение HTML / строкового содержимого lxml.etree._Element? - PullRequest
28 голосов
/ 22 марта 2011

Это такой основной вопрос, что я не могу найти его в документации: - /

В следующем:

img = house_tree.xpath('//img[@id="mainphoto"]')[0]

Как получить HTML-код тега <img/>?

Я пытался добавить html_content(), но получаю AttributeError: 'lxml.etree._Element' object has no attribute 'html_content'.

Кроме того, это был тег с некоторым содержимым внутри (например, <p>text</p>), как мне получить содержимое (например, text)?

Большое спасибо!

1 Ответ

56 голосов
/ 22 марта 2011

Полагаю, это будет так просто:

from lxml.etree import tostring
inner_html = tostring(img)

Что касается получения контента изнутри <p>, скажем, некоторый выбранный элемент el:

content = el.text_content()
...