分类: Delphi
2016-11-25 19:30:13
最近需要导出QQ群聊天记录,然后批量获取里面的图片。看了QQ的导出方式一共有三种:
1、加密文件(*.bak,支持导入):这个适用于聊天记录备份。
2、网页格式(*.mht,不支持导入):包含图片,文字。
3、文本文件(*.txt,不支持导入):不包含图片。
看来第二种是最适合的格式。导出后的文件富媒体文件格式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文件的提取软件,能提取出图片。但好奇心让我想自己写一个软件。经过两天的研究,软件写成了。
界面比较简单:
软件下载地址: