在python中从HTML中提取文本[重复]
Posted
技术标签:
【中文标题】在python中从HTML中提取文本[重复]【英文标题】:Extract text from HTML in python [duplicate] 【发布时间】:2012-02-09 07:56:59 【问题描述】:可能重复:Extracting text from html file using Python
在 Python 中以与浏览器复制粘贴时相同的方式从 HTML 页面中提取文本的最佳方法是什么?
【问题讨论】:
可能重复。我推荐这个答案:***.com/a/3987802/117092 【参考方案1】:BeautifulSoup 是读取和解析 HTML 页面的流行选项。
【讨论】:
当。多么简单的点,@Makoto!:D
【参考方案2】:
monkut 引用的question 没有为确切的问题提供任何 Python 解决方案。虽然BeautifulSoup 和 lxml 都可用于解析 html,但距离接近嵌入在 html 中的格式的文本仍有很大的进步。
为此,我采用了非 python 解决方案(我在博客中提到过,但会拒绝在这里链接——不确定 SO 礼仪)。如果您在 *nix 系统上,您可以安装来自德国的this html2text package。它可以通过 Homebrew ($ brew install html2text
) 或 Macports ($ sudo port install html2text
) 轻松安装在 MacOS 上,并通过它们的包管理器安装在其他 *nix 系统上。它有许多有用的选项,我是这样使用的:
html2text -nobs -ascii -width 200 -style pretty -o filename.txt - < filename.html
您还可以安装基于文本的浏览器(例如w3m)并使用它使用以下命令行语法从 html 生成格式化文本:
w3m filename.html -dump > file.txt
当然,您可以使用subprocess 模块或流行的envoy 包装器subprocess
从Python 访问这些解决方案。
即使经过所有这些努力,您可能会发现一些重要信息(例如<u>
标签)没有以您喜欢的方式处理,但这些是我发现的当前最佳选择。
【讨论】:
以上是关于在python中从HTML中提取文本[重复]的主要内容,如果未能解决你的问题,请参考以下文章
在 Python 3.4 中从 PDF 中提取文本的最佳工具 [关闭]
如何在 Perl 中从 HTML 中提取 URL 和链接文本?