我正在使用 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
提交
取消