苹果手机如何导出微信聊天记录已删好友的,苹果手机怎么恢复已删好友的聊天记录
先装上我的iPhone,导出微信聊天记录生成的单词群效果图。(个别敏感词,请忽略hhh。)
关于导出手机聊天记录的方法,网上大部分教程都提到“楼月微信聊天记录导出恢复助手”、“手机博士微信聊天记录查看”等软件提供了一种绝对免费的方法,可以方便地导出聊天记录。附上基于聊天记录生成词云的教程。因为我个人手机是ios,所以这个博客暂时只针对ios。安卓系统好像需要打开root权限才能导出微信记录。请参考本教程附带的链接进行尝试。
第一步:备份手机下载iTunes软件,通过usb线将手机连接到电脑,按照以下步骤备份手机。
请注意“是否要加密备份内容?”在步骤4的对话框中显示。然后单击不加密。
备注(针对windows系统)备份的内存问题:
备份手机通常需要很大的空间,但iTunes默认将备份文件放在c盘。C中的驱动器空间不足可能会导致备份失败。在这种情况下,您可以以管理员身份启动,输入cmd命令行将备份文件夹转换为外部超链接。
mklink/j C:\ Users \ Your username \ Appdata \ Roaming \ Apple Computer \ Mobile Sync 要更改的文件地址如我的电脑
如果显示“当文件已经存在时,无法创建该文件”,请参考上面的“C:\Users\您的用户名\AppData\Roaming\Apple Computer”(应用程序计算机())。此时,您可以看到上面的命令创建了一个文件夹的快捷方式。这意味着文件夹的实际存储地址链接到另一个位置。按如下方式移动备份位置:有关更详细的教程,请参见
百度体验:ITUNES改变备份存储路径(无光驱,无光驱)。
查看隐藏项目
关于手机文件备份教程的链接,请参考步骤1~6:
如何将安卓手机的微信聊天记录导出到电脑中查看?
第二步:导出聊天记录(以下均为ios系统…)
下载iPhone备份查看器。以下是网址。
从iPhone备份中提取数据
下载打开软件时,软件会自动找到备份文件的位置并显示如下:(lhdfbx好漂亮)点击中间屏幕进入备份文件(点击最后一个图标)。然后,单击右上角的“树形结构”图标。
在左侧的文件栏中,找到并展开名为“针对安卓系统”的文件夹。展开AppDomain-com.tencent.xin子文件夹,可以看到它包含一些32位的数字字符串(用MD5加密的32位字符串)。这些文件夹存储在手机微信中,每个文件夹代表一个用户。比如有两个用户通过微信登录了我的手机。可能有多个文件夹,因为其他用户可能在短时间内登录了移动电话。Document在步骤2的评论区回答。
当您展开上述子文件夹以查找并打开db子文件夹时,右边是“如何判断哪个是我经常使用的那个账户”文件。这是所有的聊天记录文件。您可以通过选择右上角的“http://www.Sina.com/ http://www.Sina.com/”导出到所需的位置。如下图。
注意“MM.sqlilte”文件的大小可以区分哪些用户的聊天记录需要导出。平时我们用微信账号最多,因为聊天记录多,所以这个文件很大。以我的手机为例。在名为 493c439bf…的文件夹中,我的 MM.sqlite 文件为800m,而在名为 cb33ae…的文件夹中,我的 MM.sqlite 文件可以确定。
第三步:分析聊天记录,下载数据库查看软件。推荐轻量级软件SQLiteSpy。下载地址如下。
下载SQLite spy1.9. 13
下载完成后,用这个软件打开刚刚保存的‘mm . SQLite’文件。左边的表格中,所有以‘Chat _’开头的表格都是单次聊天记录或者群聊或者微信官方账号聊天记录。以“ChatExt2_”开头的表没有用。点开一个,右边消息栏下有所有聊天记录。图为我点击的群聊。左边的表名是乱码。如何找到与特定人的聊天记录?
在左下方找到一个名为‘SQLite _ sequence’的表,然后点击可以看到这个表的内容是name-seq关系表。其中name是左侧所有表的名称,seq是与此人交换的消息总数。单击“序列”列名。
从小到大或从大到小排序。我们可以估计我们已经向我们要找的人发送了多少消息,对它们进行排序,并找到相应的表名来打开该表。
比如这里,我希望找到的人,我确定我和他的聊天记录最多,所以我可以确定第一行的名字就是他的表:于是我在左边找到了名为 chat _ CB 33 AEF 1a 7935289 ed 780 a 899 b 29 da 6d 的表,果然:
备注有关表名和友元之间对应关系的更详细信息存储在“WCDB_Contace.sqlite”数据库中。如需更详细的分析,请参考从第3条开始的以下链接:
微信数据库分析
第四步:导出聊天记录生成词云。接下来用python操作‘mm . SQLite’数据库,可以导出显示。以这里生成的词云为例:
先引入必需的包,这些包都需要预先安装(pip的使用可以自行百度~):
import重新导入jiebaimport word cloud import sqlite3 import cv2首先连接数据库:
# connect database conn=sqlite3 . connect( F:/iTunes/output/com . Tencent . Xin/Documents/493 c 439 bf5d 6404 AAC 3 ad 6 e 5b 1d 29835/DB/mm . SQLite )c=conn . cursor()# data=c . execute( select name from SQLite _ master where type= table order by name )tab elname= chat _ CB 33 AEF 1a 7935289 ed 780 a 899 b 29 da 6d search=c . executefetchall()第二行中的参数是刚刚保存的‘mm . SQLite’文件的地址。可以用相对路径代替绝对路径。
第四行是执行SQL语句来获取所有的表名。如果需要遍历所有聊天记录,可以使用这个语句。
第5行是在步骤2中找到的表名。
第六行是从这个表中查询所有的消息记录。
之后使用jieba对逐条消息进行分词:
# for Each message:cut into words list=[]for Each in search:find=re . find all(r [\ u4e 00-\ u9fa 5],Each[0])for sentence in find:cut result=jieba . cut(sentence,cut _ all=false,hmm=true)for word in cut result:word list。append (word)第四行是从查询结果中逐条消息查找所有汉字。
第6~8行对每个句子进行分割,并将分割后的单词添加到单词列表中。
之后设置停用词表,并更新分词列表:
# set stop wordlist exclusions=[ this , not , feel , what , can , one , know , that , now , today , how , when , so Or , so , tomorrow , just now , you , if , one , that , this , later , and , two , I want , how , Happy , bared teeth ,嘿嘿] # getlist所需单词结果=[]for word in word list result:ifappend (word) result=“”。Join (result)第2行设置了非索引字表,防止这些词出现在词云中(因为它们都是频繁出现的),也可以有选择地自行修改。记得加上各种emoji表情的名字,因为emoji的名字会被算作聊天记录里的文字~
第9行排除由单个单词组成的单词;第11行排除了非索引字表中的单词。
第15行获取要输入到单词cloud中的字符串。该字符串是一个空格分隔的单词。
最后生成词云:
#生成单词云mask _ jpg=cv2。im read( F:/Documents/Python/my project/input/love _ mask。jpg )w=词云.WordCloud(mask=mask_jpg,font_path=C:/Windows/Fonts/小清新中文. TTF ,宽度=600,高度=525,max_words=400,搭配=False,max_font_size=110,background _ color= black )w . generate(result)# set color 2 .使用jpeg文件交换格式存储的编码图像文件扩展名的彩色地图为云的colormapcolor _ jpg=cv2。im read( F:\ Documents \ Python \ my project \ input \ color 2。jpg )img _ color=word cloud .ImageColorGenerator(color _ jpg)w . re color(color _ func=img _ color)#写入filew。to _ file( output/output 9。png’)第2行是读入面具(遮罩)图片,目的是让词云匹配该图片的形状,这张图片中所有白色的区域都不会有词云出现。同样,参数的路径可以使用相对路径。在该示例中,我使用的是如下的图片:
第3行建立词云对象,遮罩参数指定面具图片,字体路径指定字体的位置,宽度和高度是生成图像的宽和高,max_words指定词云中最大包含词语的数量,搭配设为错误的防止词云中出现重复的词,max_font_size指定词云中词语最大的字号背景颜色指定生成图片的背景色。以上参数均允许为空。
第6行把文本内容加载进词云。
第8~10行读入一张颜色图片,这张图片的目的是让词云的色彩匹配这张图片里面的颜色,而不是使用默认颜色。如果不指定这张图片,词云就会按照预设的颜色方案给各个单词上色。在本示例中,我使用的是如下的图片:
最后一行把生成的词云写入文件。
程序运行结束后,查看生成的词云,最终效果如下图所示:
最后附上完整的代码:
import re import jiebaimport word cloud import SQLite 3 import cv2if _ _ name _ _= _ _ main _ _ :# connect database conn=SQLite 3。连接( F:/iTunes/output/com。腾讯。Xin/Documents/493 c 439 bf5d 6404 AAC 3 ad 6 e 5b 1d 29835/DB/mm . SQLite )c=conn . cursor()# data=c . execute( select name from SQLite _ master where type= table order by name )tab El name= Chatfetchall()# for each message:cut into words word list=[]for each in search:find=re .find:cut result=jieba中的句子的find all(r [\ u4e 00-\ u9fa 5],each[0])。cut(sentence,cut_all=False,HMM=True)for word in cut result:word list。append(word)# set停用词表excludes=[这个, 不是, 觉得, 什么, 没有, 可以, 一个, 知道, 那个, 现在, 今天, 怎么, 时候, 所以 一下, 有点, 可能, 然后, 感觉, 就是, 还是, 这么, 明天, 刚才, 你们, 的话, 要是, 一条, 那种, 这种, 以后, 而且, 两个, 我要, 反正, 不用, 一会, 直接, 肯定, 特别, 比较, 一次, 皱眉, 捂脸, 发抖, 愉快, 呲牙, 嘿哈] #获取所需单词列表结果=[]for word in word list:if len(word)==1:继续elif word in excludes:continue else:result。追加(单词)结果=“”.join(结果)#生成词云mask _ jpg=cv2。im read( F:/Documents/Python/my project/input/love _ mask。jpg )w=词云.WordCloud(mask=mask_jpg,font_path=C:/Windows/Fonts/小清新中文. TTF ,宽度=600,高度=525,max_words=400,搭配=False,max_font_size=110,background _ color= black )w . generate(result)# set color 2 .使用jpeg文件交换格式存储的编码图像文件扩展名的彩色地图为云的colormap color _ jpg=cv2。im read( F:\ Documents \ Python \ my project \ input \ color 2。jpg )img _ color=word cloud .ImageColorGenerator(color _ jpg)w . re color(color _ func=img _ color)#写入文件w . to _ file( output/output 9。png )感谢阅读~
有任何问题欢迎在评论区交流~
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。