Pythonでlxmlとxpathを使用して子ノードのHTMLコンテンツを取得しようとしています。以下のコードに示すように、各製品ノードのhtmlコンテンツを検索します。product.htmlのようなメソッドはありますか?
productGrids = tree.xpath("//div[@class='name']/parent::*")
for product in productGrids:
print #html content of product
from lxml import etree
print(etree.tostring(root, pretty_print=True))
あなたはここでより多くの例を見るかもしれません:http://lxml.de/tutorial.html
メソッドを使用したいと思います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)
これを行う別の方法
x=doc.xpath("//div[@class='name']/parent::*")
print(map(etree.tostring,x))