appium手机自动化爬虫框架设计

2019-06-19  本文已影响0人  sexy_cyber

责任人:枫桥希望

项目设计思路

后面补充...

框架设计图

项目运行的核心组件

核心组件 作用 备注
redis 缓存线上队列过来的task消息体,该消息体需要组合爬到的数据传递到数据库,但是采集的数据是通过Mitmproxy拦截的,无法直接传递数据流,故缓存到redis以便于后面就拼装 docker启动,端口6370
rabbitmq 线上队列一个消息体在接收后根据app数量裂变成多个消息体,未解决消息体持久化问题(断点续爬),故建立本地rabbitmq队列 docker启动,端口默认
appium 作为python代码和手机app指令之间的翻译器,操纵手机的中介 sh 脚本启动
mitmproxy 所有需要采集的数据并不直接通过appium服务来获取(获取难度大),而是间接通过代理服务拦截列表页的详情url,将详情URL落入数据库,故该组件的核心作用是拦截数据 ssh 脚本启动
手机硬件 接受代码指令,操作app,完成自动化,拿到目标数据 数量:5台,系统:小米,品牌型号:乐视

环境配置

appium 启动

mitmproxy以及中间队列启动

app自动化执行

项目优化历程

appium存在的一些问题

上一篇下一篇

猜你喜欢

热点阅读