当前位置: 首页 > 后端技术 > Python

利用微信同步文章到Bear

时间:2023-03-26 02:00:58 Python

undefined其实这一步不行我也能接受,因为我总觉得依赖web版总有一天会挂掉,毕竟依赖多了总会增加复杂度。你能依靠客户吗?我们知道微信数据有同步功能,开发过客户端的都知道,也就是说微信数据必须在客户端本地保存一份。所以第二点的解决方案转化为如何获取微信本地客户端存储的数据。找到某个软件的data文件夹自然是很简单的。比如微信客户端的数据存放在:#howie6879isPleasereplacemyusernameinyourown./Users/howie6879/Library/Containers/com.tencent.xinWeChat/Data/Library/ApplicationSupport/com.tencent.xinWeChat/2.0b4.0.9有如下目录:├──988eebd1078a0d794bff2b6f5c8d5176├──Avatar├──CGI├──CrashReport├──KeyValue├──MMResourceMgr├──checkVersionFile├──d41d8cd93400b204e9800998ecf8427e├──f965739b566114f907dc394322e1e826├File──topinfo.data├xFiles──topinfo.data├xFiles──upgradeHistory──dat8目录,5个文件不知道上面三个32位的字符串是不是眼熟:一想到32,就是md5加密的意思。我的第一反应是我们不关心每个登录账号的id加密值。直接去查看更深的文件夹:├──账户├──头像├──联系人├──收藏夹├──FileStateSync├──FunctionMsg├──Group├──Message├──RevokeMsg├──Session├──贴纸├──Sync├──complexSearch├──mmexpt└──newabtest15个目录,0个文件消息已出,这就是我们想要的吗?往下看目录:├──MessageTemp├──fts├──msg_0.db├──msg_0.db-backup├──msg_0.db-shm├──msg_0.db-wal├──msg_1.db如果你登录过这台电脑,同步过信息,会出现相当多的*.db后缀的文件。大胆猜测一下,这就是我们想要的聊天数据存放路径吗?不用太在意,先看看是不会错的。一般来说,本地存储的数据库,我们程序员的第一反应应该是SQLite。你想试试吗?sqlite3Message/msg_0.dbsqlite>.schemaError:fileisnotadatabasesqlite>??提示不是数据库。这时候就陷入了瓶颈。为什么不是数据库?反省开场姿势是否错误。可以加密吗?按照这个思路,了解到有一个基于SQLite的扩展数据库SQLCipher。SQLCipher是在SQLite基础上扩展的开源数据库。主要是在SQLite的基础上增加了数据加密功能。实践证明我的猜测是正确的。接下来主要要做的就是如何打开Message/msg_0.db这个文件,并成功读取里面的数据。undefinedundefinedundefined