说明:
我是把朋友圈当做博客来写的,从QQ的说说时代开始,写到微信的朋友圈,合计大概100-200万字。
当我想把它们收集、整理起来的时候,才发现微信不提供自动访问的接口,只好出此下策。
按这种方法爬取微信内容,需要频繁的读取手机屏幕,反复的对屏幕内容进行分析(当然了,前提是对各种可能的屏幕元素进行了采集和合理的配置),运行速度非常慢,还不如人工手动操作快,唯一的好处就是人可以省点力气。
如果你们没有同样的需求,这种笨办法就不要尝试了。
由于微信朋友圈不开放API,因此需要采用其他方法实现自动采集朋友圈内容。
技术条件:电脑端:ADB、Python,手机端:微信、WPS。
设计思路
基本实现
ADB拉取屏幕截图,对屏幕元素进行定位,以元素定位为基础,可以实现基本的操作。
获取朋友圈内容到手机剪贴板,然后利用手机的办公软件将内容保存起来。
性能提升
基于固定位置的机械操作多有不便,对非固定的屏幕元素应该进行判断,比如弹出式菜单是否已弹出,浮动菜单的位置的确定,键盘是否已弹出。
页面切换时,前后流程应能保持数据一致,对页面应该有判断。
保存工具
对文本保存的工具,比选如下:
小米手机自带的便签,粘贴菜单一闪即逝,adb操作有延迟,不宜使用。
其它便签类app,均不支持数据导出为本地文件,即使导出也是pdf格式,不能用。
word浮动菜单灵活性太大,位置、样式都有变化,确定位置逻辑复杂。
WPS菜单样式简单,位置变化方式简单,容易实现。
ADB读取数据
理论上,使用Adb可以读取Android