我正在寻找将HTML转换为文本的最佳方法,只使用Python2.7.x标准库中的模块。(即无BeautifulSoup等)
我所说的HTML-to-text转换在道德上等同于lynx -dump。实际上,只要智能地去掉HTML标记,并将所有HTML实体转换为ASCII (或UTF8编码的unicode),就足够了。
请不要使用基于正则表达式的答案。(正则表达式无法完成任务。)
谢谢!
发布于 2012-03-19 23:32:27
从2.2开始,Python就有了。它不是最有效也不是最简单的用法,但它确实存在……
如果您正在处理正确的XHTML (或者您可以通过Tidy传递它),那么可以使用更好的
from xml.etree.ElementTree import ElementTree
tree = ElementTree()
tree.parse("your_document.xhtml")
your_string = tree.tostring(method="text", encoding="utf-8")发布于 2019-07-26 23:58:21
我写了一个非常简单的python脚本,它只从HTML文件中提取标题和段落,而不使用任何第三方库。注意:这个脚本非常简单,只能处理非常简单的HTML。它是用python 3编写的。
#!/usr/bin/env python3
import os
#This is a standard python module
headings = "<h1>"
paragraphs = "<p>"
f = open('filename.html')
f.close
for line in f:
if headings in line:
print ("line")
If paragraphs in line:
print ("line")您仍然可以扩展这个想法,让它从HTML文件中提取更多内容。
发布于 2012-03-20 05:05:22
我还建议你去看看html2text。
还要看一下另一个thread
https://stackoverflow.com/questions/9772969
复制相似问题