在使用lxml提取文本时在词边界添加空格

3 投票
1 回答
532 浏览
提问于 2025-04-18 02:41

这是来自 lxml.html 文档的一个例子:

>>> from lxml import html
>>> root = html.fragment_fromstring('<p>Hello<br>world!</p>')
>>> html.tostring(root,method='text')
'Helloworld!'

我想问:有没有简单(或者说“正确”)的方法来生成 'Hello world!' 这个字符串呢?

1 个回答

2

你可以试试这个方法:

from lxml import html
doc = html.document_fromstring('<p>Hello<br>world!</p>')

for br in doc.xpath("*//br"):
    br.tail = " " + br.tail if br.tail else " "

doc.text_content()

这样会输出:

'Hello world!'

撰写回答