在進行APP爬蟲開發的時候,我們一般是通過手機連接PC端代理上網,進行抓包分析,那麼以這種方式抓包的時候就需要在手機端進行對應的操作,但是我們不可能一直通過手動去操作手機進行抓包,所以要使用adb這種Android開發命令的方式進行操作。但是現在很多手機權限控制比較嚴密,直接連接真機有很多操作是不支持的,所以就必須用到模擬器。很慶幸安卓模擬器有很多種,下面我們就介紹一下APP爬蟲開發環境的簡單搭建和基礎使用。
安裝模擬器
安卓模擬器有很多種,夜神模擬器、騰訊手遊助手、mumu模擬器等都是比較常用的模擬器,其中夜神模擬器是比較好的,但是它不支持Mac系統,mumu模擬器是由網易開發的,支持Windows和Mac平臺,而且更新比較頻繁,所以我使用的是mumu模擬器,官方文檔和論壇也比較豐富。安裝好以後就可以直接打開使用,如果碰到問題,可以在官方的常見問題中進行查看。
Mac安裝adb
安裝完模擬器之後,我們就要安裝adb了,在Mac上首推brew cask進行安裝
- 安裝brew
請看這篇文章HomeBrew 官方安裝太慢而失敗? - 安裝adb
brew cask install android-platform-tools
安裝完adb後打開控制檯,輸入adb version
然後可以先使用真機進行測試,打開手機的“開發者選項”,並啟用“USB調試”模式,在控制檯輸入adb devices
這樣就表示我們的adb已經安裝好了,下面就是連接我們的模擬器了。
連接模擬器
在模擬器中打開“USB調試模式”,然後在控制檯中關閉adb server,再重啟即可
<code>adb kill-serveradb server/<code>
這個時候再查看連接設備
438ec4b1為真機,emulator-5554為模擬器,要連接機器使用以下命令
adb -s 438ec4b1 shell
連接真機
連接模擬器
在紅框中你會發現區別,在連接真機的ls前面是$符號,在連接模擬器的ls前面是#,#符號就表示擁有root權限,非#符號就表示沒有root權限,我試過幾個真機,都是無root權限的,可能需要我們自行root後才能正常使用。所以這就是我們一定要使用模擬器的原因了。
因為我們不在真機上進行調試,所以就把連接斷掉,只保留模擬器一個連接設備。在這種情況下,我們的adb命令也可以簡短一些,比如使用adb連接設備,原來是adb -s xxx shell,現在就可以直接寫adb shell,其他的adb命令也是類似。
安裝抓包軟件
電腦端常用的抓包軟件Fiddler、Charles、mitmproxy,Fiddler是專屬於Windows系統的抓包軟件,並且功能強大,Charles是跨平臺的軟件,但是功能不如Fiddler,在Mac和Linux使用Charles,mitmproxy也是跨平臺的抓包工具,雖然也有可視化界面,但是不夠友好,使用成本比較高,因此我們常用mitmproxy配合Python實現抓取工作。mitmproxy需要專門寫了一個帖子,這裡就不在詳述了。
安裝APP自動化操作軟件
- Appium
- 安裝Android Studio
Android Studio中文社區下載工具,安裝後打開會報一個錯,不用管
打開SDK Manager,安裝對應的SDK版本
- 設置環境變量
在vim ~/.bash_profile文件最後增加以下內容,如果沒有就新建一個
<code>export ANDROID_HOME=/Users/xxxx/Library/Android/sdkexport PATH=${PATH}:${ANDROID_HOME}/toolsexport PATH=${PATH}:${ANDROID_HOME}/platform-toolsexport PATH=${PATH}:${ANDROID_HOME}/build-tools/29.0.2/<code>
ANDROID_HOME路徑就是上面圖中SDK下載路徑
PS: 上面環境變量中的build-tools/xx.xx.xx要在build-tools目錄下去看具體情況,我們主要是需要使用aapt工具,所以aapt在哪個目錄下就填寫哪個目錄。
配置完以後執行source ~/.bash_profile命令,重新加載環境變量,然後輸入aapt -v查看命令是否正常運行
3.安裝JDK從官網下載JDK 8,官網下載需要註冊賬號,比較麻煩。可以在找第三方網站上的下載,我是在一個百度雲分享鏈接下載的,可惜現在忘了地址了,不好意思。
- 安裝Python操作庫
pip install Appium-Python-Client
然後就可以正常使用了。
- Airtest
Airtest是網易開發的自動化測試工具,雖然不如appium專業,但是勝在安裝簡單,使用簡單。直接在官網下載即可,而且文檔也比較齊全。最重要的是安裝完後,所有測試環境就OK了。然後再安裝pip install poco就可以使用了。最最最重要的是,在其他機器上想要使用以及編寫好的腳本,只需要安裝pip install poco就可以了,不需要再安裝Airtest工具。
閱讀更多 Python集結號 的文章