关于微信广告的获取
工具及开发依赖
- python 3.6
- appium
- mitmproxy
- redis
- mysql
- adb
- fidder
- nox 或者真机
- 一台服务器或者电脑
- 作者未来升级计划 -> 邮件发送
–
环境安装
- 在这之前需要先安装依赖环境
- python:安装很简单,去官网下载安装包,按照界面提示一步一步安装
- java:需要配置 JAVA_HOME, CLASS_PATH, path, jdk, jre
- Android: SDK, ANDROID_HOME
在后续我会写文章,专门针对环境安装,此处留白
解题思路
- 直接用appium控制nox刷新, mitmdump 抓取对应广告信息
- 优点:上手简单,操作简单
- 缺点: 1、长时间操作,会对nox或者真机造成较大负荷,容易卡死。2、频繁操作容易被检测出来,导致微信封号
- 使用fidder找出接口分析出主要参数,然后使用appium + mitmdump + redis获取关键参数
- 优点:不用担心因为频繁操作而导致的机器卡死,降低封号风险
- 缺点:无法实时自动检测程序是否异常, 需要人为检测
- 作者正在做:将redis存储作用从队列升级到 参数池
- 步骤:
- 在思路二之上控制redis队列长度,编写程序实时检测队列长度,当长度满足条件时,触发等待,停止对nox的操作(即暂停获取数据);当长度不满足时,触发获取参数,直至长度满足等待条件。
- 增加异常检测机制,如果程序出现异常,导致程序关闭,自动发送邮件到作者邮箱,提醒重启程序,或者
- 优点: 再次降低封号风险,减少人为主动检测代码时间
- 缺点:队列长度需要根据需求设定,获取参数时间间隔需要重新测定
- 可能存在问题:重启程序复杂
- 解决思路:搭建服务器部署,使用tox,实现一键重启
- 步骤: