gpt4 book ai didi

Python Lxml 在 标签后查找文本

转载 作者:行者123 更新时间:2023-11-28 16:30:25 24 4
gpt4 key购买 nike

请问您能找到解决这个简单问题的方法吗?

<strong>text1</strong>: text2 

我正在尝试抓取这个 html 部分,所以我需要分别获取 text1 和 text2。怎么做? 它应该是这样的:

x = tree.xpath('//strong[text()="text1"]/text()') 

但是这段代码返回实际的“text1”,我也需要 text2..

最佳答案

需要获取strong标签元素,然后使用element.tail获取其后的文本。示例 -

In [12]: from lxml import html

In [13]: tree = html.fromstring("<strong>text1</strong>: text2 ")

In [14]: x = tree.xpath('//strong[text()="text1"]')

In [15]: for i in x:
....: print(i.tail)
....:
: text2

这也适用于 lxml.etree ,而不仅仅是 lxml.html 。示例 -

In [16]: from lxml import etree

In [18]: tree = etree.fromstring("<elem><strong>text1</strong>: text2</elem>")

In [19]: x = tree.xpath('//strong[text()="text1"]')

In [20]: for i in x:
....: print(i.tail)
....:
: text2

要将它们放在一起,您可以这样做 -

In [21]: x = tree.xpath('//strong[text()="text1"]')

In [23]: for i in x:
....: print('text :',i.text)
....: print('tail :',i.tail)
....:
text : text1
tail : : text2

关于Python Lxml 在 <strong></strong> 标签后查找文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32494661/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com