python爬蟲23 | 手機,此次要讓你上來本身動了。這就是 Appium+Python 的牛x之處

 

你有沒有想過讓你的手機幫你自動完成某些事情php

 

好比自動幫你搶紅包html

 

有些軟件不是有簽到活動麼java

 

這些傻瓜式的操做node

 

能不能讓手機自動簽到呢?python

 

自動幫你叫外賣android

自動幫你打電話git

等等github

 

 

還有web

 

對於手機上的一些比較難以經過抓包獲取的數據shell

 

想不想像 selenium 那樣輕鬆獲取?

 

以前小帥b就給你們介紹了 selenium

 

python爬蟲09 | 上來,本身動 !這就是 selenium 的牛逼之處

 

能夠模擬人類自動操做瀏覽器上的網頁

 

咱們還使用它爬取了

 

「雞你太美」

 

python爬蟲11 | 此次,將帶你爬取b站上的NBA形象大使蔡徐坤和他的球友們

 

相信你已經體驗到 selenium 的魅力了

 

對於一些複雜的 PC 端的網頁爬取

 

它就是個利器

 

不過

 

對於手機上的一些稍微複雜點的 APP 數據

 

 selenium 就顯得有點無能爲力了

 

 

那麼

 

有沒有像 selenium 這樣的框架

能夠模擬人類自動操做手機上的 APP 呢

 

 

答案是確定的

 

那就是

 

Appium

 

如何讓它來自動操做咱們的手機呢

 

那麼

 

接下來就是

 

學習 python 的正確姿式

 

 

 

爲何說 Appium 牛逼呢

 

說 4 點足以

 

一、他是開源的手機端自動測試框架

 

二、selenium能夠作的 Appium 均可以作,selenium不能夠作的Appium 依然能夠作,它可以支持 Android、iOS、windows 系統的原生 APP 進行自動操做

 

三、它能夠支持不一樣的語言寫腳本,好比咱們的 Python,還有Java、JavaScript 等

 

四、之前你想要爬取 App 的數據的時,對於較難抓取的數據,你還須要對 App 進行反編譯,很麻煩,可是 Appium 就不須要這麼麻煩

 

 

那 Appium 是怎麼玩的呢

 

你能夠把 Appium 當作是一個服務器

 

咱們將咱們寫的控制操做 APP 的 python 代碼

 

扔給 Appium

 

Appium 獲得了請求,看到你跟它說要怎麼去操做 APP

 

它就乖乖的聽你話去操做 APP 了

 

 

咱們在使用 Appium 以前

 

咱們須要安裝相關的環境纔可使用

 

因爲 Android 開源又好用,又有虛擬機能夠玩

 

因此咱們要的就是自動操做 Android 手機

 

具體來講

 

咱們須要安裝如下環境

 

真香警告

 

Appium 雖然比 selenium 對環境的要求相對複雜一丟,可是相信我,搞定以後你絕對會體驗到 Appium 的魅力,接下來要說的內容相對乾貨,你須要拿出點時間,而後跟着 小帥b 一步一步裝起來,若是你以前沒接觸相關的環境安裝,可能在安裝過程當中你會說幾回髒話,不要緊,"挖槽","TMD" 完以後,都給我安裝好如下內容。

 

 

 

 

一、node.js 和 npm

 Appium須要

 

二、JDK

java 環境,Android須要這個環境

 

三、Android SDK

 Android強大的開發工具包

 

四、Android虛擬機

可選,若是你用你的真雞也能夠的,用 usb 插入電腦就行

 

五、Appium

咱們的主角

 

六、Appium-Python-Client

python客戶端,用來鏈接 Appium

 

七、Python

python相信你早已經安裝了,尚未安裝的是豬吧?

 

 

那麼接下來

 

小帥b教你一步一步地安裝起來

 

不一樣的操做系統安裝方式可能有些許不一樣

 

但都差很少也就那會事

 

一、安裝node和npm

 

你能夠到如下連接去下載 node 安裝包

 https://nodejs.org/zh-cn/download/ 

 

而後一頓安裝

 

windows安裝的時候記得勾選 Add to path (添加到環境變量) 

 

若是你和小帥b同樣用 ubuntu 這種類 Unix 系統的話輸個命令就行

 

sudo apt-get updatesudo apt-get install nodejs

 

而後你輸入命令 node -v 

若是顯示版本號就說明你成功安裝 node 了

 

xiaoshuaib@xiaoshuaib:~$ node -vv10.15.3


安裝 node 過程當中同時也安裝了 npm 了

 

輸入 npm -v 有顯示版本好的話說明你安裝好了 npm

 

xiaoshuaib@xiaoshuaib:~$ npm -v6.4.1

 

 

二、安裝JDK

 

你能夠到如下連接去下載 jdk

 

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

 

根據你的系統自行選擇相應的 jdk

 

 

安裝完成以後記得配置好 Java 環境變量

 

如何配置 jdk 環境變量就不在這裏說了

 

由於不一樣的系統配置方式不一樣

 

你能夠自行 Google

 

 

在你的終端輸入 javac ,若是你獲得以下的東西說明你成功安裝好 jdk 和 配置好環境了

 

xiaoshuaib@xiaoshuaib:~$ javacUsage: javac <options> <source files>where possible options include: -g Generate all debugging info  -g:none                    Generate no debugging info  -g:{lines,vars,source}     Generate only some debugging info -nowarn Generate no warnings -verbose Output messages about what the compiler is doing -deprecation Output source locations where deprecated APIs are used -classpath <path> Specify where to find user class files and annotation processors -cp <path> Specify where to find user class files and annotation processors -sourcepath <path> Specify where to find input source files -bootclasspath <path> Override location of bootstrap class files -extdirs <dirs> Override location of installed extensions -endorseddirs <dirs> Override location of endorsed standards path  -proc:{none,only}          Control whether annotation processing and/or compilation is done....

 

 

三、安裝Android SDK

 

有些小夥伴可能以前沒開發過 Android

 

不過不要緊

 

 Android SDK 是 Android 開發的工具包

 

下載方式和 JDK 相似

 

能夠到如下連接去下載 sdk

 

https://developer.android.com/studio#downloads

 

 

若是你打不開這個連接的話

 

能夠用鏡像連接

 

http://www.android-studio.org/index.php/download/hisversion

 

下載完以後就一頓解壓

 

解壓完以後打開 sdkmanager

 

windows的話有界面

 

直接選擇一個 Android 版本

 

而後你點擊 install package 就能夠了

 

或者你也能夠像 Linux 同樣

 

解壓完以後

 

進入目錄中的 /tools/bin

 

輸入如下命令安裝最新的工具

 

xiaoshuaib@xiaoshuaib:~/android/tools/bin$ ./sdkmanager "platform-tools" "platforms;android-28"

 

接着配置一下環境變量

 

ubuntu 的話能夠這樣配

 

打開 profile

 

 sudo vim /etc/profile

 

添加你安裝的sdk的目錄

 

export ANDROID_HOME=/home/xiaoshuaib/androidexport PATH=$PATH:${ANDROID_HOME}/toolsexport PATH=$PATH:${ANDROID_HOME}/platform-tools

 

而後設置生效後重啓一下

 

source /etc/profile

 

 

windows配置環境變量的話

 

也是這個道理

 

在你的電腦--屬性--高級--環境變量

 

新建一個變量 ANDROID_HOME

 

值就是你剛剛解壓下來的 Android 目錄

 

而後在你的 path 中添加

 

${ANDROID_HOME}/tools;${ANDROID_HOME}/platform-tools

 

接着

 

在命令行輸入 adb shell

 

若是你出現和小帥b如下這樣的就說明你配置對了

 

xiaoshuaib@xiaoshuaib:~$ adb shell* daemon not running; starting now at tcp:5037* daemon started successfully

 

四、安裝 android 虛擬機

 

其實你有真雞的話不用安裝也能夠

 

安裝虛擬機你能夠到如下連接下載

 

https://www.genymotion.com/download

 

想當年小帥b在玩 Android 開發的時候就常常用 genymotion

 

速度相對來講快了很多

 

 

打開虛擬雞或者用你的真雞鏈接電腦(記得打開usb調試)

 

而後輸入 adb devices

 

若是你像小帥b同樣列出你如今的 Android 手機

 

xiaoshuaib@xiaoshuaib:~$ adb devicesList of devices attached88CKBM622PAM  device

 

那麼就說明是正確的啦

 

 

五、安裝 Appium

 

第一種安裝方式

 

使用命令行用 npm 安裝 Appium

 

npm install -g appium

 

ubuntu須要權限的話可使用以下命令

 

sudo npm install -g appium --unsafe-perm=true --allow-root

 

第二種安裝方式

 

你也能夠到如下連接直接下載安裝包

 

https://github.com/appium/appium-desktop/releases

 

 

安裝完以後輸入命令 appium

若是你和小帥b這樣的就說明成功安裝 Appium了

 

xiaoshuaib@xiaoshuaib:~$ appium[Appium] Welcome to Appium v1.12.1[Appium] Appium REST http interface listener started on 0.0.0.0:4723

 

六、Appium-Python-Client

 

pip install Appium-Python-Client

 

OK

 

那麼到如今咱們就把該裝的裝完了

 

酸爽~

 

 

咱們能夠來安裝如下 appium-doctor 來檢測一下咱們安裝的環境是否均可以了

 

npm install -g appium-doctor

 

安裝完以後輸入 appium-doctor

 

若是你也出現這樣的

 

 

congratulation

 

你已經搞定所需環境啦

 

 

事不宜遲

 

趕忙整個小例子試試水先

 

咱們就讓它自動打開手機的微信 APP 吧

 

確保手機鏈接到電腦

 

xiaoshuaib@xiaoshuaib:~$ adb devicesList of devices attached88CKBM622PAM device

 

開啓 Appium

 

xiaoshuaib@xiaoshuaib:~$ appium[Appium] Welcome to Appium v1.12.1[Appium] Appium REST http interface listener started on 0.0.0.0:4723

 

寫個python

 

# coding=utf-8
from appium import webdriver
desired_caps = { 'platformName''Android', 'deviceName''88CKBM622PAM', 'platformVersion''5.1', 'appPackage''com.tencent.mm',  'appActivity''com.tencent.mm.ui.LauncherUI' }
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)

 

運行python以後

 

Appium 開始執行

 

 

看看你的手機

 

 

自動打開了!

 

cool~

 

ok

 

本篇主要讓你知道怎麼安裝這些所須要的環境

 

可能你如今有點疑問

 

怎麼知道微信的包名的

怎麼知道微信的啓動頁面的

python代碼如何寫自動操做的

 

別急

 

你先把環境安裝好

 

下一篇

 

小帥b將帶你使用 Appium 來爬取 APP 上的數據

 

期待就行了

 

帥b老仙

法力無邊

 



 

 

右下角點一下

給小帥b發點功

相關文章
相關標籤/搜索