【问题标题】:Extract text from HTML in python [duplicate]在python中从HTML中提取文本[重复]
【发布时间】:2012-02-09 07:56:59
【问题描述】:

可能重复:
Extracting text from HTML file using Python

在 Python 中以与浏览器复制粘贴时相同的方式从 HTML 页面中提取文本的最佳方法是什么?

【问题讨论】:

标签: python html text extract web-crawler


【解决方案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> 标签)没有以您喜欢的方式处理,但这些是我发现的当前最佳选择。

【讨论】:

    猜你喜欢
    • 2012-08-31
    • 1970-01-01
    • 2018-11-04
    • 2017-03-20
    • 2019-03-11
    • 1970-01-01
    • 2019-04-10
    • 1970-01-01
    相关资源
    最近更新 更多