如何使用python記錄室友的抖音在線時間
今天給大家分享一篇有趣的文章,靈感來自于前幾天與室友的聊天,他告訴我抖音可以實時顯示人的在線情況,如下圖:

只需要進入抖音消息框,然后進入用戶聊天窗口,就可以看到上述在線狀態(tài)了。
然后我靈機一動,是不是用python可以實時監(jiān)測一個人全天的在線情況?
說干就干,決定先拿我室友“開刀”

1.邏輯分析
俗話說,磨刀不誤砍柴工,做任何事之前,都要先把邏輯分析清楚,要不然只會事倍功半。
起初本來想用手機模擬器來操作,但是不幸的是手機模擬器不顯示在線狀態(tài),沒辦法,只能把自己的心愛的手機貢獻出來了。
首先用appium客戶端打開抖音(關于appium的安裝和使用,請參考之前的文章),配置如圖:

點擊start session:

點擊“消息”元素:

再點擊進入聊天窗口:

顯示在線狀態(tài)元素的id為:
com.ss.android.ugc.aweme:id/blc
那么,我們只需要在當前頁面一直請求獲取該元素的值就可以獲取該好友的在線狀態(tài)了,如果返回“在線”,則判該用戶在線;否則,判為不在線。
2.Python代碼擼起來
1.appium模塊操控打開抖音
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.依次點擊進入消息列表、用戶聊天窗
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)和時間并保存
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.根據在線狀態(tài)畫出折線圖
df = pd.read_excel('1.xls', encoding='gbk', usecols=['時間', '狀態(tài)'])
line = Line("折線圖")
line.add("在線狀態(tài)", df['時間'], df['狀態(tài)'], xaxis_rotate=45)
line.render('折線圖.html')
根據當代“惡臭”青年的生活習慣,睡前醒后十有八九是在刷抖音,所以可以推斷出,室友今天是在9點20分左右醒的、23點左右睡的,看起來作息還是比較規(guī)律的。
總結
到此這篇關于如何使用python記錄室友的抖音在線時間的文章就介紹到這了,更多相關python記錄抖音在線時間內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
基于MTCNN/TensorFlow實現(xiàn)人臉檢測
這篇文章主要為大家詳細介紹了基于MTCNN/TensorFlow實現(xiàn)人臉檢測,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-05-05
Python一階馬爾科夫鏈生成隨機DNA序列實現(xiàn)示例
這篇文章主要為大家介紹了Python實現(xiàn)一階馬爾科夫鏈生成隨機DNA序列示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-07-07

