目前常见的聊天机器人的的开发方式大多是通过破解微信的客户端,通过hook的方式来进行的,但是这种方式有可能被检测到,有封号的风险,另外就是只是针对特定的微信版本,微信一升级就无法使用了。接下来我介绍一种更加通用的实时抓取微信聊天记录的方式,通过UI自动化的方式来获取,只要微信客户端的UI不做大的升级都是可以使用,同时不容易被检测到,封号的风险低,更安全。
1. 通过元素拾取功能,拾取聊天记录列表
这里我还是使用自己开发的GoBot这款自动化软件。在流程设计界面,打开元素库界面,点击拾取按钮,拾取微信聊天窗口的聊天记录,然后点击鼠标进行拾取,之后会根据我们点击的元素自动生成该元素的一些属性值,这里我们将最末尾的一个元素的index属性改为大于last()-5,然后下面的xpath会自动更新,这个xpath的含义是获取聊天记录中的最新的5条记录,当然如果想要获取更多的记录,修改后面的数字即可。
2. 编写工作流,通过日志打印聊天记录的内容
使用现成的组件,通过刚才我们拾取的聊天记录列表项,实时的获取最新的5条聊天记录的内容,并将聊天记录打印在日志中。从日志中可以看到最新的5条聊天记录都已经被打印出来了,而且整个运行速度是非常快的,只用到了0.2s的时间,所以如果想实时监控多个群的聊天内容,完全是可以做到的。
3. 扩展
上面我只是简单展示了一些聊天记录的实时获取功能,其实可以此基础上扩展出其他更有用的场景,比如实现一个微信聊天机器人,比如针对聊天内容做一些数据统计分析等等,如果大家对这方面的内容感兴趣,可以关注微信公众号:RPA二师兄,对于一些自动化流程的定制也可以交流。