zl程序教程

您现在的位置是:首页 >  工具

当前栏目

导出iPhone所有短信到Excel

Excel导出iphone 所有 短信
2023-06-13 09:17:42 时间

导出iPhone所有短信到Excel

打算找一些短信,用于作为样本训练识别。

一开始打算网上找到垃圾短信样本,但找了好久没找到,于是就想到用自己和家人手机里的短信,毕竟手机里短信一般不删除,也有小几千条,而且垃圾短信、推销、广告之类的应有尽有。

<!--more-->

所以问题就变成了,如何导出 iPhone 短信?

这里笔者也查了好久,找到的第三方软件基本都是需要收费,最终发现了一个免费导出的方案。

首先不加密备份手机到电脑,如下图,选中Back up all the data on your iPhone to this Mac,点击Back Up Now,等待备份完成,备份完成后,再点击Manage Backups

Manage Backups点击后,界面如下,可以看到已备份的记录,右键选择Show In Finder,在文件夹中打开

然后可以看到备份所在目录已打开,这时候需要找到文件名为3d0d7e5fb2ce288813306e4d4636395e047a3d28的文件,这个文件就是短信备份的数据库文件。然后问题来了,怎么找呢?看到备份目录一个个文件夹是不是懵,这怎么找,很简单,搜索,点击右上角的搜索,直接把这个文件名输入即可,注意搜索的范围是当前文件夹,

搜索结果如下:

然后把这个文件单独拷贝到另一个地方,比如桌面,再用数据库软件打开,比如SQLPro for SQLLite,打开如下:

然后观察这个文件后发现,手机号和短信记录分布在不同表中,需要写一个SQL查出需要的内容,SQL内容如下,参考SQL to extract messages from backup,选中上图中Query,输入命令如下:

SELECT datetime(message.date, 'unixepoch', '+31 years', '-6 hours') as Timestamp, handle.id, message.text,
    case when message.is_from_me then 'From me' else 'To me' end as Sender
FROM message, handle WHERE message.handle_id = handle.ROWID AND message.text NOT NULL;

然后点击右上角的执行, 可以看到,把短信都筛选出来了

然后选中所有row,右键选择Export result set as导出CSV,即可导出excel格式的文件。

这样就获取到了所需的短信样本。

参考