我正在使用 Pythonlxml庫來解析 HTML。我有葉點(diǎn),例如<a>,想要獲取其父級(jí)的文本。我嘗試通過兩種方式做到這一點(diǎn):.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 回答

叮當(dāng)貓咪
TA貢獻(xiàn)1776條經(jīng)驗(yàn) 獲得超12個(gè)贊
您可以使用.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
添加回答
舉報(bào)
0/150
提交
取消