MHT富媒体文件分析及提取转换HTML文件-Delphi7实现QQ聊天记录导出文件提取

最近需要导出QQ群聊天记录,然后批量获取里面的图片。看了QQ的导出方式一共有三种:

1、加密文件(*.bak,支持导入):这个适用于聊天记录备份。

2、网页格式(*.mht,不支持导入):包含图片,文字。

3、文本文件(*.txt,不支持导入):不包含图片。

MHT富媒体文件分析及提取转换HTML文件-Delphi7实现QQ聊天记录导出文件提取_第1张图片

看来第二种是最适合的格式。导出后的文件富媒体文件格式MHT,即MHTML文件,又称为聚合HTML文档、Web档案或单一文件网页。单个文件网页可将网站的所有元素(包括文本和图形)都保存到单个文件中。这种封装使您可将整个网站发布为单个内嵌MIME (MIME:通过 Internet 连接传递多媒体资源的一列标准。MIME类型通知程序对象所包含的内容(如图形、声音或视频)的聚合HTML文档(MHTML)文件,或将整个网站作为一个电子邮件或附件发送。Internet Explorer 4.0及更高版本支持此格式。

由于导出的MHT文件是把所有的文件打包在一起的,所以还是无法批量获取里面的图片等资料。

研究了MHT的内容,发现都是有规律的一些数据块,如下:

------=_NextPart_A01590A4_5DA4_4db7_A25B.4EF2B5346CC6

Content-Type: text/html

Content-Transfer-Encoding:7bit

 

------=_NextPart_A01590A4_5DA4_4db7_A25B.4EF2B5346CC6

Content-Type:image/jpeg

Content-Transfer-Encoding:base64

Content-Location:{96B5A2C4-6A9E-401c-B84C-A6038B97602B}.dat

网上找了一些MHT文件的提取软件,能提取出图片。但好奇心让我想自己写一个软件。经过两天的研究,软件写成了。

界面比较简单:

MHT富媒体文件分析及提取转换HTML文件-Delphi7实现QQ聊天记录导出文件提取_第2张图片

把需要解析的MHT文件加入列表,并处理:

MHT富媒体文件分析及提取转换HTML文件-Delphi7实现QQ聊天记录导出文件提取_第3张图片

处理的文档20.8MB,耗时1.045s,生成了397个文件:

MHT富媒体文件分析及提取转换HTML文件-Delphi7实现QQ聊天记录导出文件提取_第4张图片

版权信息:

MHT富媒体文件分析及提取转换HTML文件-Delphi7实现QQ聊天记录导出文件提取_第5张图片

你可能感兴趣的:(Delphi)