web-dev-qa-db-ja.com

lxmlの要素の内部HTMLを取得します

Pythonでlxmlとxpathを使用して子ノードのHTMLコンテンツを取得しようとしています。以下のコードに示すように、各製品ノードのhtmlコンテンツを見つけたいです。 product.htmlのようなメソッドはありますか?

productGrids = tree.xpath("//div[@class='name']/parent::*")
for product in productGrids:
    print #html content of product
24
Sudip Kafle
from lxml import etree
print(etree.tostring(root, pretty_print=True))

ここにさらに例を見ることができます: http://lxml.de/tutorial.html

34
Walty Yeung

tostring()メソッドを使用したいと思います。

from lxml import etree

tree = etree.fromstring('<html><head><title>foo</title></head><body><div class="name"><p>foo</p></div><div class="name"><ul><li>bar</li></ul></div></body></html>')
for elem in tree.xpath("//div[@class='name']"):
     # pretty_print ensures that it is nicely formatted.
     print etree.tostring(elem, pretty_print=True)
12
vezult

product.text_content()を使用できます

0
Virako