所以首先,我不是在谈论python html2text,而是命令行工具:http://www.mbayer.de/html2text/
我正在使用此工具作为程序员的一部分来生成一些用于HTML文章的小型文本浏览。到目前为止,这是我使用的行:
html2text -utf8 -nobs -style pretty filename.html
不幸的是,我现在遇到了使用特殊字符的HTML代码,例如
ä
那些不会像预期的那样转换为"ä"甚至" ae"。
例如:
<p class="caption">Steve Ballmer, Jahrgang 56, wird zumindest auf diesem Bild auf 56 Jahre geschätzt. </p>
应转换为:
Steve Ballmer, Jahrgang 56, wird zumindest auf diesem Bild auf 56 Jahre geschätzt.
但在这里产生这一行:
Steve Ballmer, Jahrgang 56, wird zumindest auf diesem Bild auf 56 Jahre geschätzt.
文档说:
默认情况下,当提供-nometa时,HTML2Text将ISO 8859-1用于输入。指定此选项,使用UTF-8(用于输入和输出)。
因此,我尝试遗漏" -utf8"并使用" -nometa"。但仍然相同的结果:(我错过了一个选项吗?
提前帮助。
您是否尝试过(html)整洁?
tidy filename.html | html2text -utf8 -nobs -style pretty
也许包括抑制错误输出:
tidy filename.html 2>/dev/null | html2text -utf8 -nobs -style pretty
至少您的示例中的简单段落已完成为
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<meta name="generator" content=
"HTML Tidy for Linux (vers 25 March 2009), see www.w3.org">
<title></title>
</head>
<body>
<p class="caption">Steve Ballmer, Jahrgang 56, wird zumindest auf
diesem Bild auf 56 Jahre geschätzt.</p>
</body>
</html>