<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          你用過云手機(jī)嗎?

          共 6381字,需瀏覽 13分鐘

           ·

          2021-08-23 07:35

          ↑↑↑關(guān)注后"星標(biāo)"簡說Python

          人人都可以簡單入門Python、爬蟲、數(shù)據(jù)分析
           簡說Python推薦 

          來源:進(jìn)擊的Coder

          作者:崔慶才

          云服務(wù)器大家肯定不陌生了,有了一臺云服務(wù)器,我們可以通過 ssh 命令或者遠(yuǎn)程桌面即可連接并執(zhí)行相應(yīng)的命令對云服務(wù)器進(jìn)行控制。

          云服務(wù)器大多都是 Linux、Windows Server 系統(tǒng),這些其實(shí)都是 PC。有的朋友可能就會好奇了:那既然有云 PC,那有沒有云手機(jī)呢?

          答案當(dāng)然是有的。

          所謂的云手機(jī)就是指一種搭建在云服務(wù)器上的虛擬手機(jī),這些云手機(jī)的功能與真正的手機(jī)基本相同,只不過我們拿不到真機(jī),云手機(jī)平臺可以提供給我們一些控制面板或者 API 來操控手機(jī)或者執(zhí)行相應(yīng)的命令來滿足我們的使用需求。

          平臺

          目前云手機(jī)平臺還是比較多的,個(gè)人比較推薦的是河馬云手機(jī)平臺,其官網(wǎng)為:http://www.longene.com.cn/,首頁如圖所示:

          在河馬云手機(jī)平臺上,我們可以選購相應(yīng)的云手機(jī)并開通相應(yīng)的服務(wù)。

          購買云手機(jī)之后,我們就可以在河馬云手機(jī)平臺的網(wǎng)頁中控制相應(yīng)的云手機(jī),其功能非常豐富,包括基礎(chǔ)控制、應(yīng)用管理、IP 切換、數(shù)據(jù)備份、日志調(diào)試、實(shí)時(shí)直播、adb 調(diào)試、遠(yuǎn)程虛擬相機(jī)等功能,其官網(wǎng)也有如圖所示的介紹:

          接下來我們就來使用河馬云來演示下云手機(jī)的申請、使用過程。

          購買云手機(jī)

          首先我們需要注冊河馬云手機(jī)平臺的賬號,登錄之后點(diǎn)擊右上角的訂購入口,即可進(jìn)入訂購頁面,如圖所示:

          這里我們可以選擇多個(gè)套餐,如基礎(chǔ)版、標(biāo)準(zhǔn)版、高級版、榮耀版,不同的版本都會顯示云主機(jī)的基本配置,如屏幕分辨率、內(nèi)存、CPU、安卓版本等信息。這里我們?yōu)榱藴y試,先購買了試用 1 天的榮耀版套餐。

          管理云手機(jī)

          支付之后我們便可以看到控制臺就出現(xiàn)了一部云手機(jī),呈現(xiàn)了手機(jī)的屏幕狀態(tài),同時(shí)在菜單欄中還有很多配置,如應(yīng)用管理、云機(jī)同步、實(shí)時(shí)直播等功能,如圖所示:

          我們可以點(diǎn)擊該云主機(jī)打卡其控制面板,如圖所示。

          這里我們可以對手機(jī)屏幕做任何的控制操作,如點(diǎn)擊打卡某個(gè) App、滑動(dòng)下拉查看通知欄等,和平常我們用的手機(jī)操作基本一致。另外在右側(cè)欄還有一系列基本控制,如音量控制、回到首頁、返回等等。

          接下來我們想嘗試在云手機(jī)上裝一個(gè) App,在此之前,我們需要對云手機(jī)進(jìn)行分組操作,這里我們直接在控制面板進(jìn)行操作即可,如圖所示。

          分區(qū)完成之后,我們就可以點(diǎn)擊“應(yīng)用安裝/卸載”按鈕來安裝一個(gè)應(yīng)用了。

          這里我們首先下載下我們需要測試的應(yīng)用,從 https://app5.scrape.center 下載即可,保存為 scrape-app5.apk,然后上傳,如圖所示:

          上傳之后,即可看到云主機(jī)提示“應(yīng)用同步中”,如圖所示。稍等片刻,應(yīng)用就可以安裝好了。

          我們可以在云手機(jī)上查看其運(yùn)行效果,如圖所示:

          這樣我們就成功實(shí)現(xiàn)了應(yīng)用的安裝和啟動(dòng)。

          高級服務(wù)

          另外云手機(jī)還有很多高級服務(wù),如切換 IP、遠(yuǎn)程相機(jī)、消息轉(zhuǎn)發(fā)、adb 調(diào)試等等,我們點(diǎn)擊配套服務(wù)即可查看,如圖所示:

          我們可以在操作菜單中看到一些基本操作,如圖所示:

          比如對于 IP 服務(wù)來說,我們可以點(diǎn)擊對應(yīng)的地區(qū)并確定,即可切換到對應(yīng)區(qū)域的 IP,如圖所示:

          對于云機(jī)掃碼功能,我們可以選擇掃碼云機(jī)開始掃碼,被掃碼云機(jī)點(diǎn)擊進(jìn)入二維碼頁面,點(diǎn)擊掃碼按鈕即可開始掃描另一臺云機(jī)的二維碼,掃碼成功之后便會執(zhí)行相應(yīng)的掃碼處理流程,如圖所示:

          ADB 調(diào)試

          另外云手機(jī)還有 ADB 調(diào)試功能,該功能是單獨(dú)需要付費(fèi)購買的,購買之后我們可以通過云機(jī)菜單中的“調(diào)試ADB”來獲取 adb 遠(yuǎn)程連接信息,如圖所示:

          點(diǎn)擊之后,頁面就會提示一個(gè)遠(yuǎn)程連接的 IP 和端口,其 IP 是 183.220.196.75,端口是 15998,如圖所示:

          那怎么連接呢?

          我們使用 adb connect 命令即可:

          adb connect 183.220.196.75:15988

          如果順利的話,運(yùn)行結(jié)果會提示 connected to 字樣,如圖所示:

          連接成功之后,我們重新運(yùn)行 adb devices 命令,運(yùn)行結(jié)果的列表中就可以看到一臺遠(yuǎn)程的手機(jī)了,如圖所示:

          這時(shí)候我們再嘗試用 Airtest 來實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)爬取,主要將手機(jī)的連接信息修改為該遠(yuǎn)程主機(jī)即可,代碼實(shí)現(xiàn)如下:

          from re import T
          from main import PACKAGE_NAME
          from airtest.core.api import *
          from poco.drivers.android.uiautomation import AndroidUiautomationPoco
          import adbutils
          from multiprocessing import Process

          class Controller(object):

              def __init__(self, device_uri, package_name, apk_path,  need_reinstall=False, need_restart=False):
                  self.device_uri = device_uri
                  self.package_name = package_name
                  self.apk_path = apk_path
                  self.need_reintall = need_reinstall
                  self.need_restart = need_restart

              def connect_device(self):
                  self.device = connect_device(self.device_uri)

              def install_app(self):
                  if self.device.check_app(self.package_name) and not self.need_reintall:
                      return
                  self.device.uninstall_app(self.package_name)
                  self.device.install_app(self.apk_path)

              def start_app(self):
                  if self.need_restart:
                      self.device.stop_app(self.package_name)
                  self.device.start_app(self.package_name)

              def init_device(self):
                  self.connect_device()
                  self.poco = AndroidUiautomationPoco(self.device)
                  self.window_width, self.window_height = self.poco.get_screen_size()
                  self.install_app()
                  self.start_app()

              def scroll_up(self):
                  self.device.swipe((self.window_width * 0.5, self.window_height * 0.8),
                                    (self.window_width * 0.5, self.window_height * 0.3), duration=1)

              def run(self):
                  for _ in range(10):
                      self.scroll_up()


          PACKAGE_NAME = 'com.goldze.mvvmhabit'
          APK_PATH = 'scrape-app5.apk'


          def run(device_uri):
              controller = Controller(device_uri=device_uri,
                                      package_name=PACKAGE_NAME,
                                      apk_path=APK_PATH,
                                      need_reinstall=False,
                                      need_restart=True)
              controller.init_device()
              controller.run()


          if __name__ == '__main__':
              device_uri = 'Android://183.220.196.75:15998'
              run(device_uri)

          運(yùn)行之后即可發(fā)現(xiàn) Airtest 進(jìn)行了一系列初始化操作,在手機(jī)上安裝了一些 Airtest 相關(guān) App,如圖所示:

          運(yùn)行代碼之后可以發(fā)現(xiàn),App 就自動(dòng)啟動(dòng)然后執(zhí)行了數(shù)據(jù)爬取操作,運(yùn)行界面如圖所示:

          其最終運(yùn)行效果就是爬蟲控制手機(jī)點(diǎn)擊了一個(gè)個(gè)電影條目信息并爬取到了每部電影的詳情信息,最后將信息保存了下來。

          總結(jié)

          以上我們了解了云手機(jī)的申請和使用方法,云手機(jī)和正常的真機(jī)沒有太大差別,甚至還在真機(jī)的基礎(chǔ)上提供了增值服務(wù),這在一定程度上為我們的開發(fā)、數(shù)據(jù)爬取提供了一定的便利。

          --END--


          掃碼即可加我微信

          觀看朋友圈,獲取最新學(xué)習(xí)資源


          學(xué)習(xí)更多:
          整理了我開始分享學(xué)習(xí)筆記到現(xiàn)在超過250篇優(yōu)質(zhì)文章,涵蓋數(shù)據(jù)分析、爬蟲、機(jī)器學(xué)習(xí)等方面,別再說不知道該從哪開始,實(shí)戰(zhàn)哪里找了
          點(diǎn)贊、留言”就是對我最大的支持!
          瀏覽 56
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日韩在线视频a | av乱伦网址 | 一级成人A片 | 欧美成人无码在线 | 欧美成人电影 |