前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >「docker实战篇」python的docker-打造多任务端app应用数据抓取系统(下)(35)

「docker实战篇」python的docker-打造多任务端app应用数据抓取系统(下)(35)

作者头像
IT架构圈
发布2019-05-10 14:56:50
1K0
发布2019-05-10 14:56:50
举报
文章被收录于专栏:IT架构圈IT架构圈

上次已经把python文件挂载到虚拟机上了,这次主要设置下虚拟机通过docker容器的方式。

运行
  • python 代码运行

启动一个crt的会话

代码语言:javascript
复制
 docker run -it -v /root/docker:/root --name python zhugeaming/python3-appium
  • mitmdump的运行

启动一个crt的会话,可以通过重名名session的方式好区别

代码语言:javascript
复制
docker run --rm -it -v /root/docker:/root/ -p 8889:8889 --name mitmdump zhugeaming/python3-appium mitmdump -p 8889 -s /root/decode_data.py
  • appium的运行

启动一个crt的会话,可以通过重名名session的方式好区别,这里需要注意需要启动三个因为咱们监控3个app得代码。之前我演示的是不是启动了多个appium的客户端服务,这里是通过容器的方式就要启动3个容器。

代码语言:javascript
复制
docker run --privileged -d -p 4723:4723 --name appium_douyin appium/appium
docker run --privileged -d -p 4725:4723 --name appium_kuaishou appium/appium
docker run --privileged -d -p 4727:4723 --name appium_jrtt appium/appium
  • 夜神模拟器的设置 1.设置网络桥接模式

2.需要安装容器内部的mitmdump的证书

证书的安装之前的介绍mitmproxy的时候介绍过。

3.设置好一个后,可以通过复制模拟器的功能

4.设置好本地的adb devices,转成tcp的形式

代码语言:javascript
复制
adb connect 127.0.0.1:62001
adb connect 127.0.0.1:62025
adb connect 127.0.0.1:62026
adb devices
adb -s 127.0.0.1:62001 tcpip 5555
adb -s 127.0.0.1:62025 tcpip 5555
adb -s 127.0.0.1:62026 tcpip 5555
  • 容器的appium设置连接

192.168.199.122是夜神模拟器的ip-抖音 192.168.199.117是夜神模拟器的ip-快手 192.168.199.173是夜神模拟器的ip-今日头条

代码语言:javascript
复制
docker exec -it appium_douyin adb connect 192.168.199.122:5555
docker exec -it appium_kuaishou adb connect 192.168.199.117:5555
docker exec -it appium_jrtt adb connect 192.168.199.173:5555

#如果ip写错了怎么办,挂载错了怎么办
#docker exec -it 容器名称 adb kill-server
  • handle_appium_docker.py的python代码的修改

直接本地修改,挂载代码也会随着被改。

docker的宿主机的ip也要在python代码里面修改,修改成连接的linux主机的ip

这里面的页面xpath 也需要手动的修改,根据实际的我这里直接写//android,通过uiautomatorviewer.jar

  • handle_mongo.py的python代码的修改
这些设置好基本就可以进行抓取咱们的数据了

在python 哪里直接执行代码 就可以了。

代码语言:javascript
复制
python handle_appium_docker.py

mongodb的数据

PS:电脑配置比较高i7的cpu,16g的内存,固态的硬盘,尽量还是用真机,如果是真机8g跑的也很666,企业里面还是用真实的手机来跑的。这里综合实战了,从appium的使用,移动端的使用,mitmdump的使用,都综合到了一起。遇到问题其实百度和谷歌都有类似的问题,文章很多部分都是参考:https://github.com/appium/appium-docker-android ,哈哈国内最大的男性交友网站很给力的。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-04-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程坑太多 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 运行
  • 这些设置好基本就可以进行抓取咱们的数据了
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档