【tostring()】
1 2 3 4 | from lxml import etree dom = etree.fromstring(u'<p>Hello<br>world!</p>', parser=HTMLParser()) enums = dom.xpath("//p") etree.tostring(enums[0], method='text', encoding="utf-8") |
【XPath】
1 2 3 4 | from lxml.html import fromstring et = fromstring(html) xpath = r'//text()[name(..)!="script"][name(..)!="style"]' text = ''.join([text for text in et.xpath(xpath) if text.strip()]) |
どちらでもテキストノードを抽出できますが、細かな制御をするなら後者の方がオススメです。