我正在寻找将 HTML 转换为文本的最佳方法,仅使用 Python 2.7.x 标准库中的模块。 (即没有 BeautifulSoup
等)
我所说的 HTML 到文本的转换是指道德上等同于 lynx -dump
。事实上,只需巧妙地摆脱 HTML 标签,并将所有 HTML 实体转换为 ASCII(或 UTF8 编码的 unicode)就足够了。
请不要使用基于正则表达式的答案。 (正则表达式不能胜任这项任务。)
谢谢!
最佳答案
自 2.2 起的 Python 有 HTMLParser module .它不是最有效也不是最简单的使用方式,但它就在那里……
如果您正在处理适当的 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")
关于python - 仅使用 Python 标准库进行 html 到文本的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9772969/