这篇文章是从:胡夫的储物柜(公共号码)转移过来的,并已得到作者的授权。
在我的日常工作中,我会将网络和生活中的各种信息收集到Bear中,然后通过Bear的云同步来保持我的终端信息的一致性。在
之前,我在使用有道云笔记的时候,非常喜欢一个特性,就是当我看到一篇我想收藏的文章,我可以直接把它发到右上角的有道云笔记上,如下图所示:
顺便说一下:熊掌笔记是一个优雅灵活的笔记应用。
回到正题,我现在面临的需求是,当我看到我喜欢的文章时,是否可以通过类似于右上角的共享将文章同步到我终端上的Bear。最终结果如下:
解决方案
想要满足上述需求。我考虑以下解决方案:
1)准备一个微信号(这里直接称为喇叭)来接收要在Bear
2中收集的文章,并编写一个服务监控喇叭消息。例如,如果您收到一条tweet类型的消息,您将提取内容
3)。监控服务将提取的内容发送到Bear(要求该服务在苹果操作系统上运行)
。因此,在继续之前,您需要具备以下条件:
基本Python知识(编写小脚本Python真的很方便)一个装有Bear research
的Mac OS
解决方案上面的解决方案似乎很容易实现,第一步不用说,现在谁没有小号,第二点,我认为Python有一个第三方库,可以直接监控微信对应账户的消息
因为这些第三方库是基于微信的,所以我想在使用之前验证一下这个方案的可行性。一旦我准备好登陆微信,我会直接提示:
果然,微信现在准备加强对微信网络版的限制。我的心很冷,在第二步开始之前我已经被判了死刑。
只能改变思维方式,怎么办事实上,我仍然可以接受这一步是不可行的,因为我一直觉得对网络版本的依赖有一天会消失,毕竟更多的依赖总是会增加复杂性。
能依赖客户吗?
我们知道微信数据有同步功能,任何开发了客户端的人都知道,这意味着微信数据必须存储在客户端的本地系统中。
因此,第二点的解决方案是如何获取在客户端本地存储的微信数据。找到某个软件的数据文件夹自然非常简单。例如,微信客户的数据存储在
,其目录如下:
8目录。5文件
我不知道大家是否熟悉以上三个32位字符串:
当我想到32时,它是md5加密。我的第一反应是忽略每个登录帐户的id加密值。让我们直接进入更深的文件夹:
15directions,0files
message。这是我们想要的吗?向下看目录:
。如果您登录到计算机并同步信息,将会有许多带有*。db后缀。大胆猜测,这是我们想要存储聊天数据的方式吗?不要太担心,先看看它不会错。通常,本地存储的数据库应该是SQLite,这是我们程序员的第一反应。你想试试吗?
??提示不是数据库,此时进入瓶颈,怎么不是数据库思考开仓位置是否错误。
加密了吗?根据这个想法,我了解到有一个基于SQLite的扩展数据库sqlcifer
。单击“确定”成功打开它!
随意入座:
显然,我们已经成功获得了本地聊天记录,并最终通过了第二步流程。现在我们可以监控发送文章的微信账户的聊天记录。一旦我们收到来自这个账户的推文信息,监控服务可以立即做出反应并进行分析,然后将其发送给Bear
有一个小问题,您如何知道tweet帐户在哪个数据库和哪个表中?可以这样看:登录在电脑上发推的账号,打开文件```:
。输出如下:
很明显我的wxid是wxid _ epxxxxxfj12,那么要监控的对应表的名称是chat _ MD5 (wxid _ epxxxxxfj12),形式为
,然后在库中找到对应的表。我发现相应帐户的表存在于本地库msg_5.db中
接下来要做的事情很简单,就是将提取的内容发送给Bear。在这里,您可以使用第一步的X回调URL方案文档
来获得必要的常量:
来定义这四个常量。接下来的事情一帆风顺。哈,我会在吉特百货打开这个项目。参见w2b[4]获取地址,然后我将直接谈论如何使用它:
。然后,将有一个日志输出:
。代码运行后,在电脑上登录喇叭(即接收微信文章的微信号),登录手机发送文章的微信号。最终的成功将与文章开头的电影一样~
。如果你认为它对你有帮助,点击它,然后帮助转发它
参考文献
[1]sqlcapper:[https://github.com/sqlcapper/sqlcapper](https://github.com/sqlcapper/sqlcapper
[2)问答:https://www . v2ex . com/t/466053 # repl 15
[3]X回拨url方案文档:https://bear . app/FAQ/X-回拨-URL % 20方案% 20文档/
[4]w2b:w2b