仅使用Python标准库进行html到文本的转换

kjo*_*kjo 1 python standard-library html-parsing html-to-text

我正在寻找使用Python 2.7.x标准库中的模块将HTML转换为文本的最佳方法.(即,不BeautifulSoup,等等)

通过HTML到文本的转换,我的意思是道德等同于lynx -dump.实际上,只需智能地删除HTML标记,并将所有HTML实体转换为ASCII(或转换为UTF8编码的unicode)就足够了.

请不要使用基于正则表达式的答案.(正则表达不能完成任务.)

谢谢!

var*_*tec 5

Python自2.2以来就有HTMLParser模块.它不是最有效也不是最简单的用途,但它就是......

如果你正在处理正确的XHTML(或者你可以通过Tidy传递它),你可以使用更好的ElementTree

from xml.etree.ElementTree import ElementTree
tree = ElementTree()
tree.parse("your_document.xhtml")
your_string = tree.tostring(method="text", encoding="utf-8")
Run Code Online (Sandbox Code Playgroud)