啟動一個crt的會話?docker?run?-it?-v?/root/docker:/..."/>
溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》
  • 首頁 > 
  • 教程 > 
  • 服務(wù)器 > 
  • 云計算 > 
  • 「docker實(shí)戰(zhàn)篇」python的docker-打造多任務(wù)端app應(yīng)用數(shù)據(jù)抓取系統(tǒng)(下)(35)

「docker實(shí)戰(zhàn)篇」python的docker-打造多任務(wù)端app應(yīng)用數(shù)據(jù)抓取系統(tǒng)(下)(35)

發(fā)布時間:2020-06-26 22:42:34 來源:網(wǎng)絡(luò) 閱讀:390 作者:IT人故事 欄目:云計算

上次已經(jīng)把python文件掛載到虛擬機(jī)上了,這次主要設(shè)置下虛擬機(jī)通過docker容器的方式。

「docker實(shí)戰(zhàn)篇」python的docker-打造多任務(wù)端app應(yīng)用數(shù)據(jù)抓取系統(tǒng)(下)(35)

運(yùn)行
  • python 代碼運(yùn)行
    >啟動一個crt的會話

?docker?run?-it?-v?/root/docker:/root?--name?python?zhugeaming/python3-appium

「docker實(shí)戰(zhàn)篇」python的docker-打造多任務(wù)端app應(yīng)用數(shù)據(jù)抓取系統(tǒng)(下)(35)

  • 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

「docker實(shí)戰(zhàn)篇」python的docker-打造多任務(wù)端app應(yīng)用數(shù)據(jù)抓取系統(tǒng)(下)(35)

「docker實(shí)戰(zhàn)篇」python的docker-打造多任務(wù)端app應(yīng)用數(shù)據(jù)抓取系統(tǒng)(下)(35)

「docker實(shí)戰(zhàn)篇」python的docker-打造多任務(wù)端app應(yīng)用數(shù)據(jù)抓取系統(tǒng)(下)(35)

  • 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

「docker實(shí)戰(zhàn)篇」python的docker-打造多任務(wù)端app應(yīng)用數(shù)據(jù)抓取系統(tǒng)(下)(35)

  • 夜神模擬器的設(shè)置
    1.設(shè)置網(wǎng)絡(luò)橋接模式
    「docker實(shí)戰(zhàn)篇」python的docker-打造多任務(wù)端app應(yīng)用數(shù)據(jù)抓取系統(tǒng)(下)(35)

2.需要安裝容器內(nèi)部的mitmdump的證書

證書的安裝之前的介紹mitmproxy的時候介紹過。

「docker實(shí)戰(zhàn)篇」python的docker-打造多任務(wù)端app應(yīng)用數(shù)據(jù)抓取系統(tǒng)(下)(35)

3.設(shè)置好一個后,可以通過復(fù)制模擬器的功能
「docker實(shí)戰(zhàn)篇」python的docker-打造多任務(wù)端app應(yīng)用數(shù)據(jù)抓取系統(tǒng)(下)(35)

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

「docker實(shí)戰(zhàn)篇」python的docker-打造多任務(wù)端app應(yīng)用數(shù)據(jù)抓取系統(tǒng)(下)(35)

  • 容器的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

「docker實(shí)戰(zhàn)篇」python的docker-打造多任務(wù)端app應(yīng)用數(shù)據(jù)抓取系統(tǒng)(下)(35)

「docker實(shí)戰(zhàn)篇」python的docker-打造多任務(wù)端app應(yīng)用數(shù)據(jù)抓取系統(tǒng)(下)(35)

mongodb的數(shù)據(jù)

「docker實(shí)戰(zhàn)篇」python的docker-打造多任務(wù)端app應(yīng)用數(shù)據(jù)抓取系統(tǒng)(下)(35)

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)


向AI問一下細(xì)節(jié)

免責(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)容。

AI