Appium 爬取微信朋友圈
接下来,我们将实现微信朋友圈的爬取。
如果直接用 Charles 或 mitmproxy 来监听微信朋友圈的接口数据,这是无法实现爬取的,因为数据都是被加密的。而 Appium 不同,Appium 作为一个自动化测试工具可以直接模拟 App 的操作并可以获取当前所见的内容。所以只要 App 显示了内容,我们就可以用 Appium 抓取下来。
-
本节目标
本节我们以 Android 平台为例,实现抓取微信朋友圈的动态信息。动态信息包括好友昵称、正文、发布日期。其中发布日期还需要进行转换,如日期显示为 1 小时前,则时间转换为今天,最后动态信息保存到 MongoDB。 -
准备工作
请确保 PC 已经安装好 Appium、Android 开发环境和 Python 版本的 Appium API。Android 手机安装好微信 App、PyMongo 库,安装 MongoDB 并运行其服务,安装方法可以参考第 1 章。 -
初始化
首先新建一个 Moments 类,进行一些初始化配置,如下所示:
这里实现了一些初始化配置,如驱动的配置、延时等待配置、MongoDB 连接配置等。 -
模拟登录
接下来要做的就是登录微信。点击登录按钮,输入用户名、密码,提交登录即