Python lxml无法获取所有文本

我正在使用 Pythonlxml库来解析 HTML。我有叶点,例如<a>,想要获取其父级的文本。我尝试通过两种方式做到这一点:

  1. .xpath('::parent*'),

  2. .getparent().text.

from lxml.etree import HTML

text = '<p>FIRST PART<a href="THE LINK" target="_blank">LINK TEXT</a>SECOND PART</p>'


parsed = HTML(text)

parsed.xpath('//a')[0].getparent().text

parsed.xpath('//a/parent::*')[0].text

我FIRST PART使用了任何一种方法,但是我怎样才能获得SECOND PART?


LEATH
浏览 127回答 1
1回答

叮当猫咪

您可以使用.itertext()元素的方法:from lxml.etree import HTMLtext = '<p>FIRST PART<a href="THE LINK" target="_blank">LINK TEXT</a>SECOND PART</p>'parsed = HTML(text)parent = parsed.xpath('//a/parent::*')[0]text = list(parent.itertext())print(text[0])print(text[-1])印刷:FIRST PARTSECOND PART
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python