



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第python利用Appium實現(xiàn)自動控制移動設(shè)備并提取數(shù)據(jù)功能至此,可以參考爬蟲5.0課程項目庫,使用fiddler等抓包工具,利用appium+mitmproxy+wget等python模塊自動獲取抖音視頻文件
6.關(guān)于模擬式移動端爬蟲的參考閱讀
/butomo1989/docker-android
/weixin_42620645/article/details/83828863
/weixin_39211232/article/details/83410130#Android_16
/p/bf1ca3d4ac76
/appium/
小結(jié)
了解appium-python-client模塊定位元素以及提取其文本內(nèi)容的方法了解appium-python-client模塊控制滑動動作的方法7.完整代碼
douyin.py
importtime
fromappiumimportwebdriver
classDouyinAction():
"""自動滑動,并獲取抖音短視頻發(fā)布者的id"""
def__init__(self,nums:int=None):
#初始化配置,設(shè)置DesiredCapabilities參數(shù)
self.desired_caps={
'platformName':'Android',
'deviceName':'SM-G955F',
'appPackage':'com.ss.android.ugc.aweme',
'appActivity':'.main.MainActivity'
#指定AppiumServer
self.server='http://localhost:4723/wd/hub'
#新建一個driver
self.driver=webdriver.Remote(self.server,self.desired_caps)
#獲取模擬器/手機(jī)的分辨率(px)
width=self.driver.get_window_size()['width']
height=self.driver.get_window_size()['height']
print(width,height)
#設(shè)置滑動初始坐標(biāo)和滑動距離
self.start_x=width//2#屏幕寬度中心點(diǎn)
self.start_y=height//3*2#屏幕高度從上開始到下三分之二處
self.distance=height//2#滑動距離:屏幕高度一半的距離
#設(shè)置滑動次數(shù)
self.nums=nums
defcomments(self):
#app開啟之后點(diǎn)擊一次屏幕,確保頁面的展示
time.sleep(2)
self.driver.tap([(500,1200)],500)
defscroll(self):
print('滑動ing...')
self.driver.swipe(self.start_x,self.start_y,
self.start_x,self.start_y-self.distance)
time.sleep(3)
self.driver.find_element_by_xpath('/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/android.widget.TabHost/android.widget.FrameLayout/android.widget.FrameLayout[2]/android.widget.LinearLayout/android.widget.FrameLayout[1]').click()
time.sleep(3)
#無限滑動
i=0
whileTrue:
#模擬滑動
print('滑動ing...')
self.driver.swipe(self.start_x,self.start_y,
self.start_x,self.start_y-self.distance)
time.sleep(3)
self.get_infos()#獲取視頻發(fā)布者的名字
#設(shè)置延時等待
time.sleep(4)
#判斷是否退出
ifself.numsisnotNoneandself.nums==i:
break
i+=1
defget_infos(self):
#獲取視頻的各種信息:使用appiumdesktop定位元素
print(self.driver.find_element_by_id('ap').text)#發(fā)布者名字
print(self.driver.find_element_by_id('xm').text)#點(diǎn)贊數(shù)
print(self.driver.find_element_by_id('xn').text)#留言數(shù)
print(self.driver.find_element_by_id('oz').text)#視頻名字,可能不存在,報錯
##點(diǎn)擊距離右邊60距離底邊170720-60,1280-170
#self.driver.tap([(660,1110)])
##s
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 安全員A練習(xí)題
- 眼科三基習(xí)題庫(附答案)
- 數(shù)字化醫(yī)療健康數(shù)據(jù)共享協(xié)議
- 貴州國企招聘2025納雍縣鴿子花農(nóng)業(yè)有限公司招聘10人筆試參考題庫附帶答案詳解
- 2025河南中原特鋼技術(shù)(管理)人才招聘33名筆試參考題庫附帶答案詳解
- 2025年隨州國投集團(tuán)公開招聘42名工作人員筆試參考題庫附帶答案詳解
- 2025年中國檢驗認(rèn)證集團(tuán)河南公司招聘30人筆試參考題庫附帶答案詳解
- 2025內(nèi)蒙古中材科技(錫林郭勒)風(fēng)電葉片有限公司招聘32人筆試參考題庫附帶答案詳解
- 2025中儲糧(海南)有限公司招聘19人筆試參考題庫附帶答案詳解
- 初中數(shù)學(xué)跨學(xué)科教學(xué)的創(chuàng)新實踐與路徑探索
- 2025屆貴州省遵義第四中學(xué)高考全國統(tǒng)考預(yù)測密卷英語試卷含解析
- 湖北省武漢市2025屆高中畢業(yè)生四月調(diào)研考試數(shù)學(xué)試卷及答案(武漢四調(diào))
- 2025年四川省自然資源投資集團(tuán)有限責(zé)任公司招聘筆試參考題庫附帶答案詳解
- 建筑工程中BIM技術(shù)應(yīng)用論文
- 藥品經(jīng)營企業(yè)質(zhì)量管理工作流程圖資料
- 1干混砂漿的工藝流程
- 思想政治教育心理學(xué)教學(xué)大綱
- 離子交換器用戶手冊
- 石子檢驗報告(共5頁)
- 地基承載力與擊數(shù)對照表(輕)
- 供應(yīng)商調(diào)查表(模板)
評論
0/150
提交評論