解析电子邮件中的HTML内容

时间:2017-11-15 21:13:48

标签: python email parsing imap imaplib

我正在尝试编写一个python脚本来阅读我的电子邮件。 我能够正确地完成大部分事情,例如ToFromSubject。 但是在body中,我得到了文本以及它的HTML代码,如下所示。

enter image description here

以下是从电子邮件中提取内容的代码部分

email_message = email.message_from_string(raw_email)
print 'To:', email_message['To']
print 'Sent from:', email_message['From']
print 'Date:', email_message['Date']
print 'Subject:', email_message['Subject']
print '*'*30, 'MESSAGE', '*'*30
maintype = email_message.get_content_maintype()
#print maintype

if maintype == 'multipart':
    for part in email_message.get_payload():
            if part.get_content_maintype() == 'text':
                print part.get_payload()
elif maintype == 'text':
    print email_message.get_payload()
print '*'*69

完整代码的Git链接:Email-parser

如何摆脱HTML代码并只获取纯文本?

1 个答案:

答案 0 :(得分:1)

邮件的正文是MIME编码的 - 这就是为什么它包含纯文本和HTML格式的文本。为了获得正文的明文,首先需要对消息进行MIME解码。您可以使用python' s email package进行MIME解码。另请参阅this question以获取更多信息。