溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python如何實(shí)現(xiàn)監(jiān)測(cè)抖音在線時(shí)間

發(fā)布時(shí)間:2021-11-25 14:35:32 來(lái)源:億速云 閱讀:214 作者:小新 欄目:大數(shù)據(jù)

這篇文章主要介紹了Python如何實(shí)現(xiàn)監(jiān)測(cè)抖音在線時(shí)間,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

如下圖:

Python如何實(shí)現(xiàn)監(jiān)測(cè)抖音在線時(shí)間

只需要進(jìn)入抖音消息框,然后進(jìn)入用戶聊天窗口,就可以看到上述在線狀態(tài)了。

然后我靈機(jī)一動(dòng),是不是用python可以實(shí)時(shí)監(jiān)測(cè)一個(gè)人全天的在線情況?

說(shuō)干就干,決定先拿我室友“開(kāi)刀”

1.邏輯分析

俗話說(shuō),磨刀不誤砍柴工,做任何事之前,都要先把邏輯分析清楚,要不然只會(huì)事倍功半。
起初本來(lái)想用手機(jī)模擬器來(lái)操作,但是不幸的是手機(jī)模擬器不顯示在線狀態(tài),沒(méi)辦法,只能把自己的心愛(ài)的手機(jī)貢獻(xiàn)出來(lái)了。

首先用appium客戶端打開(kāi)抖音(關(guān)于appium的安裝和使用,請(qǐng)參考之前的文章),配置如圖:

Python如何實(shí)現(xiàn)監(jiān)測(cè)抖音在線時(shí)間
點(diǎn)擊“消息”元素:

Python如何實(shí)現(xiàn)監(jiān)測(cè)抖音在線時(shí)間
再點(diǎn)擊進(jìn)入聊天窗口:

Python如何實(shí)現(xiàn)監(jiān)測(cè)抖音在線時(shí)間
顯示在線狀態(tài)元素的id為:

com.ss.android.ugc.aweme:id/blc

那么,我們只需要在當(dāng)前頁(yè)面一直請(qǐng)求獲取該元素的值就可以獲取該好友的在線狀態(tài)了,如果返回“在線”,則判該用戶在線;否則,判為不在線。

2.Python代碼擼起來(lái)

1.appium模塊操控打開(kāi)抖音

desired_caps = {
  
  
              "platformName": "Android",            "deviceName": "MHA_AL00",            "appPackage": "com.ss.android.ugc.aweme",            "appActivity": ".main.MainActivity",            "noReset": "true",            "fullReset": "false"}server = 'http://localhost:4723/wd/hub'driver = webdriver.Remote(server, desired_caps)

2.依次點(diǎn)擊進(jìn)入消息列表、用戶聊天窗

driver.find_element_by_xpath('//android.widget.TextView[contains(@text,"消息")]').click()time.sleep(1)driver.find_element_by_xpath('//android.widget.TextView[contains(@text,"女神的昵稱")]').click()

3.獲取在線狀態(tài)和時(shí)間并保存

while True:    status=driver.find_element_by_id('com.ss.android.ugc.aweme:id/blc').text    strtime = time.strftime("%H:%M:%S", time.localtime(time.time()))    if status=='在線':        status='在線'    else:        status='不在線'    wb = xlrd.open_workbook('1.xls')    tabsheet = wb.sheets()[0]    k = tabsheet.nrows  #表格已有的行數(shù)    worksheet.write(k , 0, i['name'])  # 酒店名字    worksheet.write(k , 1, i['addr'])  # 酒店地址    time.sleep(60)

4.根據(jù)在線狀態(tài)畫(huà)出折線圖

df = pd.read_excel('1.xls', encoding='gbk', usecols=['時(shí)間', '狀態(tài)'])line = Line("折線圖")line.add("在線狀態(tài)", df['時(shí)間'], df['狀態(tài)'], xaxis_rotate=45)line.render('折線圖.html')

根據(jù)當(dāng)代“惡臭”青年的生活習(xí)慣,睡前醒后十有八九是在刷抖音,所以可以推斷出,室友今天是在9點(diǎn)20分左右醒的、23點(diǎn)左右睡的,看起來(lái)作息還是比較規(guī)律的。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Python如何實(shí)現(xiàn)監(jiān)測(cè)抖音在線時(shí)間”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

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

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI