如何使用python記錄室友的抖音線上時間
阿新 • • 發佈:2020-06-29
今天給大家分享一篇有趣的文章,靈感來自於前幾天與室友的聊天,他告訴我抖音可以實時顯示人的線上情況,如下圖:
只需要進入抖音訊息框,然後進入使用者聊天視窗,就可以看到上述線上狀態了。
然後我靈機一動,是不是用python可以實時監測一個人全天的線上情況?
說幹就幹,決定先拿我室友“開刀”
1.邏輯分析
俗話說,磨刀不誤砍柴工,做任何事之前,都要先把邏輯分析清楚,要不然只會事倍功半。
起初本來想用手機模擬器來操作,但是不幸的是手機模擬器不顯示線上狀態,沒辦法,只能把自己的心愛的手機貢獻出來了。
首先用appium客戶端開啟抖音(關於appium的安裝和使用,請參考之前的文章),配置如圖:
點選start session:
點選“訊息”元素:
再點選進入聊天視窗:
顯示線上狀態元素的id為:
com.ss.android.ugc.aweme:id/blc
那麼,我們只需要在當前頁面一直請求獲取該元素的值就可以獲取該好友的線上狀態了,如果返回“線上”,則判該使用者線上;否則,判為不線上。
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.獲取線上狀態和時間並儲存
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 #表格已有的行數 worksheet.write(k,i['name']) # 酒店名字 worksheet.write(k,1,i['addr']) # 酒店地址 time.sleep(60)
4.根據線上狀態畫出折線圖
df = pd.read_excel('1.xls',encoding='gbk',usecols=['時間','狀態']) line = Line("折線圖") line.add("線上狀態",df['時間'],df['狀態'],xaxis_rotate=45) line.render('折線圖.html')
根據當代“惡臭”青年的生活習慣,睡前醒後十有八九是在刷抖音,所以可以推斷出,室友今天是在9點20分左右醒的、23點左右睡的,看起來作息還是比較規律的。
總結
到此這篇關於如何使用python記錄室友的抖音線上時間的文章就介紹到這了,更多相關python記錄抖音線上時間內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!