关于python:使用lxml在文本提取中在字边界上添加空格

Adding spaces on word boundaries in text extraction with lxml

来自lxml.html文档的示例:

1
2
3
4
5
6
>>> from lxml import html
>>> root = html.fragment_fromstring('<p>
Helloworld!
</p>'
)
>>> html.tostring(root,method='text')
'Helloworld!'

我的问题是:是否有任何简单(或"正确")的方法来生产'Hello world!'字符串?


您可以尝试以下方法:

1
2
3
4
5
6
7
8
9
from lxml import html
doc = html.document_fromstring('<p>
Helloworld!
</p>'
)

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

doc.text_content()

印刷品:

1
'Hello world!'