为了账号安全,请及时绑定邮箱和手机立即绑定

Python lxml无法获取所有文本

Python lxml无法获取所有文本

LEATH 2023-08-08 15:49:03
我正在使用 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


查看完整回答
反对 回复 2023-08-08
  • 1 回答
  • 0 关注
  • 89 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信