首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >仅使用Python标准库将html转换为文本

仅使用Python标准库将html转换为文本
EN

Stack Overflow用户
提问于 2012-03-19 23:27:59
回答 3查看 1.5K关注 0票数 1

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

我所说的HTML-to-text转换在道德上等同于lynx -dump。实际上,只要智能地去掉HTML标记,并将所有HTML实体转换为ASCII (或UTF8编码的unicode),就足够了。

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

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-19 23:32:27

从2.2开始,Python就有了。它不是最有效也不是最简单的用法,但它确实存在……

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

代码语言:javascript
复制
from xml.etree.ElementTree import ElementTree
tree = ElementTree()
tree.parse("your_document.xhtml")
your_string = tree.tostring(method="text", encoding="utf-8")
票数 5
EN

Stack Overflow用户

发布于 2019-07-26 23:58:21

我写了一个非常简单的python脚本,它只从HTML文件中提取标题和段落,而不使用任何第三方库。注意:这个脚本非常简单,只能处理非常简单的HTML。它是用python 3编写的。

代码语言:javascript
复制
#!/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文件中提取更多内容。

票数 0
EN

Stack Overflow用户

发布于 2012-03-20 05:05:22

我还建议你去看看html2text

还要看一下另一个thread

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9772969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档