python – 使用html5lib将HTML片段转换为纯文本

有没有一种简单的方法来使用Python库html5lib来转换这样的东西:

<p>Hello World. Greetings from <strong>Mars.</strong></p>

Hello World. Greetings from Mars.
最佳答案
使用lxml作为解析器后端:

import html5lib

body = "<p>Hello World. Greetings from <strong>Mars.</strong></p>"
doc = html5lib.parse(body, treebuilder="lxml")
print doc.text_content()

说实话,这实际上是作弊,因为它等同于以下(只更改了相关部分):

from lxml import html
doc = html.fromstring(body)
print doc.text_content()

如果你真的想要html5lib解析引擎:

from lxml.html import html5parser
doc = html5parser.fromstring(body)
print doc.xpath("string()")

转载注明原文:python – 使用html5lib将HTML片段转换为纯文本 - 代码日志