先看看百度百科对mht的描述
MHTML文件又称为聚合HTML文档、Web档案或单一文件网页。单个文件网页可将网站的所有元素(包括文本和图形)都保存到单个文件中。这种封装使您可将整个网站发布为单个内嵌MIME (MIME:通过 Internet 连接传递多媒体资源的一列标准。MIME类型通知程序对象所包含的内容(如图形、声音或视频)的聚合HTML文档(MHTML)文件,或将整个网站作为一个电子邮件或附件发送。Internet Explorer 4.0及更高版本支持此格式。
那mht如何解析?
本质上就是解析multipart的过程,和eml邮件格式类似
直接上代码
import email
import mimetypes
import os
def parse(filename, content_type, index):
mht = open(filename, 'r')
msg = email.message_from_file(mht)
mht.close()
i = 0
for part in msg.walk():
if part.get_content_type() != content_type:
continue
if i != index:
i+=1
continue
return part.get_payload(decode=True)
if '__main__' == __name__:
parse('/path/to/filename')
本文使用 文章同步助手 同步