如何使用python记录室友的抖音在线时间


Posted in Python onJune 29, 2020

今天给大家分享一篇有趣的文章,灵感来自于前几天与室友的聊天,他告诉我抖音可以实时显示人的在线情况,如下图:

如何使用python记录室友的抖音在线时间

只需要进入抖音消息框,然后进入用户聊天窗口,就可以看到上述在线状态了。

然后我灵机一动,是不是用python可以实时监测一个人全天的在线情况?

说干就干,决定先拿我室友“开刀”

如何使用python记录室友的抖音在线时间

1.逻辑分析

俗话说,磨刀不误砍柴工,做任何事之前,都要先把逻辑分析清楚,要不然只会事倍功半。
起初本来想用手机模拟器来操作,但是不幸的是手机模拟器不显示在线状态,没办法,只能把自己的心爱的手机贡献出来了。

首先用appium客户端打开抖音(关于appium的安装和使用,请参考之前的文章),配置如图:

如何使用python记录室友的抖音在线时间

点击start session:

如何使用python记录室友的抖音在线时间

点击“消息”元素:

如何使用python记录室友的抖音在线时间

再点击进入聊天窗口:

如何使用python记录室友的抖音在线时间

显示在线状态元素的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 , 0, 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记录抖音在线时间内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
跟老齐学Python之使用Python操作数据库(1)
Nov 25 Python
Python MySQLdb Linux下安装笔记
May 09 Python
Python如何快速上手? 快速掌握一门新语言的方法
Nov 14 Python
OpenCV+python手势识别框架和实例讲解
Aug 03 Python
纯用NumPy实现神经网络的示例代码
Oct 24 Python
Python 新建文件夹与复制文件夹内所有内容的方法
Oct 27 Python
使用python读取.text文件特定行的数据方法
Jan 28 Python
python生成带有表格的图片实例
Feb 03 Python
python基础知识(一)变量与简单数据类型详解
Apr 17 Python
python导入坐标点的具体操作
May 10 Python
Python3+RIDE+RobotFramework自动化测试框架搭建过程详解
Sep 23 Python
python实现剪贴板的操作
Jul 01 Python
Python sublime安装及配置过程详解
Jun 29 #Python
keras K.function获取某层的输出操作
Jun 29 #Python
Python pytesseract验证码识别库用法解析
Jun 29 #Python
用Python开发app后端有优势吗
Jun 29 #Python
在keras里实现自定义上采样层
Jun 28 #Python
Python如何对XML 解析
Jun 28 #Python
keras 自定义loss层+接受输入实例
Jun 28 #Python
You might like
解析thinkphp中的导入文件标签
2013/06/20 PHP
PHP中单引号与双引号的区别分析
2014/08/19 PHP
PHP中使用json数据格式定义字面量对象的方法
2014/08/20 PHP
ThinkPHP5框架中使用JWT的方法示例
2020/06/03 PHP
BOOM vs RR BO5 第二场 2.14
2021/03/10 DOTA
Javascript 跨域访问解决方案
2009/02/14 Javascript
javaScript 关闭浏览器 (不弹出提示框)
2010/01/31 Javascript
基于Jquery 解决Ajax请求的页面 浏览器后退前进功能,页面刷新功能实效问题
2010/12/11 Javascript
JS俄罗斯方块,包含完整的设计理念
2010/12/11 Javascript
js取消单选按钮选中示例代码
2013/11/14 Javascript
js post提交调用方法
2014/02/12 Javascript
jquery实现弹出层效果实例
2015/05/19 Javascript
js判断请求的url是否可访问,支持跨域判断的实现方法
2016/09/17 Javascript
JS实现鼠标移上去显示图片或微信二维码
2016/12/14 Javascript
bootstrap-table组合表头的实现方法
2017/09/07 Javascript
Vue路由切换页面不更新问题解决方案
2020/07/10 Javascript
vue 解决addRoutes多次添加路由重复的操作
2020/08/04 Javascript
Vue实现菜单切换功能
2020/11/08 Javascript
python 性能优化方法小结
2017/03/31 Python
对python多线程中Lock()与RLock()锁详解
2019/01/11 Python
使用python实现mqtt的发布和订阅
2019/05/05 Python
Puppeteer使用示例详解
2019/06/20 Python
python加载自定义词典实例
2019/12/06 Python
python3格式化字符串 f-string的高级用法(推荐)
2020/03/04 Python
h5页面背景图很长要有滚动条滑动效果的实现
2021/01/27 HTML / CSS
普通院校学生的自荐信
2013/11/27 职场文书
4s店机修工岗位职责
2013/12/20 职场文书
对教师的评语
2014/04/28 职场文书
2014年党员自我评议对照检查材料
2014/09/20 职场文书
四风查摆问题及整改措施
2014/10/10 职场文书
社区综治工作汇报
2014/10/27 职场文书
国庆庆典邀请函
2015/02/02 职场文书
投标邀请书范本
2015/02/02 职场文书
写给老婆的保证书
2015/02/27 职场文书
师范生小学见习总结
2015/06/23 职场文书
Python几种酷炫的进度条的方式
2022/04/11 Python