啟動一個crt的會話?docker?run?-it?-v?/root/docker:/..."/>
您好,登錄后才能下訂單哦!
上次已經(jīng)把python文件掛載到虛擬機(jī)上了,這次主要設(shè)置下虛擬機(jī)通過docker容器的方式。
python 代碼運(yùn)行
>啟動一個crt的會話
?docker?run?-it?-v?/root/docker:/root?--name?python?zhugeaming/python3-appium
mitmdump的運(yùn)行
啟動一個crt的會話,可以通過重名名session的方式好區(qū)別
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的運(yùn)行
>啟動一個crt的會話,可以通過重名名session的方式好區(qū)別,這里需要注意需要啟動三個因?yàn)樵蹅儽O(jiān)控3個app得代碼。之前我演示的是不是啟動了多個appium的客戶端服務(wù),這里是通過容器的方式就要啟動3個容器。
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
夜神模擬器的設(shè)置
1.設(shè)置網(wǎng)絡(luò)橋接模式
2.需要安裝容器內(nèi)部的mitmdump的證書
證書的安裝之前的介紹mitmproxy的時候介紹過。
3.設(shè)置好一個后,可以通過復(fù)制模擬器的功能
4.設(shè)置好本地的adb devices,轉(zhuǎn)成tcp的形式
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設(shè)置連接
> 192.168.199.122是夜神模擬器的ip-抖音
> 192.168.199.117是夜神模擬器的ip-快手
> 192.168.199.173是夜神模擬器的ip-今日頭條
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 ```` ![](https://upload-images.jianshu.io/upload_images/11223715-fb9572508a1eeafb.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) *?handle_appium_docker.py的python代碼的修改 >直接本地修改,掛載代碼也會隨著被改。 ![](https://upload-images.jianshu.io/upload_images/11223715-233b196366015f20.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) >?docker的宿主機(jī)的ip也要在python代碼里面修改,修改成連接的linux主機(jī)的ip ![](https://upload-images.jianshu.io/upload_images/11223715-985aa964f84cb4f7.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) >這里面的頁面xpath?也需要手動的修改,根據(jù)實(shí)際的我這里直接寫//android,通過uiautomatorviewer.jar ![](https://upload-images.jianshu.io/upload_images/11223715-b134b601f5607bdd.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) *??handle_mongo.py的python代碼的修改 ![](https://upload-images.jianshu.io/upload_images/11223715-ff494634f717b607.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ####?這些設(shè)置好基本就可以進(jìn)行抓取咱們的數(shù)據(jù)了 >在python?哪里直接執(zhí)行代碼?就可以了。 ```?python python?handle_appium_docker.py
mongodb的數(shù)據(jù)
PS:電腦配置比較高i7的cpu,16g的內(nèi)存,固態(tài)的硬盤,盡量還是用真機(jī),如果是真機(jī)8g跑的也很666,企業(yè)里面還是用真實(shí)的手機(jī)來跑的。這里綜合實(shí)戰(zhàn)了,從appium的使用,移動端的使用,mitmdump的使用,都綜合到了一起。遇到問題其實(shí)百度和谷歌都有類似的問題,文章很多部分都是參考:https://github.com/appium/appium-docker-android ,哈哈國內(nèi)最大的男×××友網(wǎng)站很給力的。
>>原創(chuàng)文章,歡迎轉(zhuǎn)載。轉(zhuǎn)載請注明:轉(zhuǎn)載自IT人故事會,謝謝!
>>原文鏈接地址:「docker實(shí)戰(zhàn)篇」python的docker-打造多任務(wù)端app應(yīng)用數(shù)據(jù)抓取系統(tǒng)(下)(35)
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。