我正在使用 Pythonlxml库来解析 HTML。我有叶点,例如<a>,想要获取其父级的文本。我尝试通过两种方式做到这一点:.xpath('::parent*'),.getparent().text.from lxml.etree import HTMLtext = '<p>FIRST PART<a href="THE LINK" target="_blank">LINK TEXT</a>SECOND PART</p>'parsed = HTML(text)parsed.xpath('//a')[0].getparent().textparsed.xpath('//a/parent::*')[0].text我FIRST PART使用了任何一种方法,但是我怎样才能获得SECOND PART?
1 回答
叮当猫咪
TA贡献1776条经验 获得超12个赞
您可以使用.itertext()
元素的方法:
from lxml.etree import HTML
text = '<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 PART
SECOND PART
添加回答
举报
0/150
提交
取消