【发布时间】:2012-02-09 07:56:59
【问题描述】:
【问题讨论】:
-
可能重复。我推荐这个答案:stackoverflow.com/a/3987802/117092
标签: python html text extract web-crawler
【问题讨论】:
标签: python html text extract web-crawler
BeautifulSoup 是读取和解析 HTML 页面的流行选项。
【讨论】:
:D
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> 标签)没有以您喜欢的方式处理,但这些是我发现的当前最佳选择。
【讨论】: