如何使用 Python 提取嵌入在 RTF 中的 HTML?

How can I extract HTML embedded in RTF using Python?

我正在尝试从 Outlook msg 文件中提取 HTML 电子邮件正文。我已经使用 email-outlook-message-perl 成功地将它们转换为 eml/标准 RFC 822 文件,但电子邮件的正文是用 RTF package的 HTML。这是一个示例代码段:

1
2
3
{\\*\\htmltag96 }\\htmlrtf {\\htmlrtf0 {\\*\\htmltag64}\\htmlrtf {\\htmlrtf0 \\htmlrtf{\\f4\\fs24\\htmlrtf0 \'cd\'d5\'e0\'c1\'c5\'b9\'d5\'e9\'ca\'e8\'a7\'e4\'bb\'b7\'d5\'e8 john.smith\\htmlrtf\\f0}\\htmlrtf0
{\\*\\htmltag116 }\\htmlrtf \\line
\\htmlrtf0

有没有办法获取 HTML 内容,而不需要所有的 RTF crud?


这是几年前的回帖,但这可能对刚接触 TNEF 并且处于类似情况的人有所帮助...

如果您是 Linux 用户,那么您可以使用 Linux 命令行工具 unrtf 从 rtf 文件中提取 html 内容

unrtf message.rtf

这将为您提供带有 html 内容的输出。

如果你想把它重定向到一个文件中,那么可以试试
unrtf message.rtf > message.html

希望这会有所帮助...

-Suresh


Microsoft 正在使用 TNEF(传输中性封装格式)。所以我认为您需要搜索 TNEF Phyton 实现,例如:

  • 解析