如何使用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字符串关键点
Dec 13 Python
python使用paramiko实现远程拷贝文件的方法
Apr 18 Python
Flask框架中密码的加盐哈希加密和验证功能的用法详解
Jun 07 Python
python运行时间的几种方法
Jun 17 Python
利用python批量检查网站的可用性
Sep 09 Python
Random 在 Python 中的使用方法
Aug 09 Python
python3 selenium自动化测试 强大的CSS定位方法
Aug 23 Python
python-web根据元素属性进行定位的方法
Dec 13 Python
解决Django中checkbox复选框的传值问题
Mar 31 Python
详解PyQt5中textBrowser显示print语句输出的简单方法
Aug 07 Python
Pandas 稀疏数据结构的实现
Jul 25 Python
为了顺利买到演唱会的票用Python制作了自动抢票的脚本
Oct 16 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
咖啡风味 世界咖啡主要分布分布 咖啡的生长要求
2021/03/06 新手入门
在PHP站点的页面上添加Facebook评论插件的实例教程
2016/01/08 PHP
javascript当onmousedown、onmouseup、onclick同时应用于同一个标签节点Element
2010/01/05 Javascript
获取dom元素那些讨厌的位置封装代码
2010/06/23 Javascript
jquery photoFrame 图片边框美化显示插件
2010/06/28 Javascript
autoIMG 基于jquery的图片自适应插件代码
2011/03/12 Javascript
jquery增加时编辑jqGrid(实例代码)
2013/11/08 Javascript
使用jQuery动态加载js脚本文件的方法
2014/04/03 Javascript
jQuery EasyUI datagrid实现本地分页的方法
2015/02/13 Javascript
把Node.js程序加入服务实现随机启动
2015/06/25 Javascript
JS实现鼠标框选效果完整实例
2016/06/20 Javascript
JavaScript暂停和继续定时器的实现方法
2016/07/18 Javascript
Javascript在IE和Firefox浏览器常见兼容性问题总结
2016/08/03 Javascript
Javascript this 函数深入详解
2016/12/13 Javascript
JS和Canvas实现图片的预览压缩和上传功能
2018/03/30 Javascript
redux中间件之redux-thunk的具体使用
2018/04/17 Javascript
Vue安装浏览器开发工具的步骤详解
2019/05/12 Javascript
微信小程序tabBar 返回tabBar不刷新页面
2019/07/25 Javascript
微信小程序学习总结(五)常见问题实例小结
2020/06/04 Javascript
vue使用svg文件补充-svg放大缩小操作(使用d3.js)
2020/09/22 Javascript
Python用模块pytz来转换时区
2016/08/19 Python
python中的插值 scipy-interp的实现代码
2018/07/23 Python
Python unittest 简单实现参数化的方法
2018/11/30 Python
python3爬虫获取html内容及各属性值的方法
2018/12/17 Python
python openvc 裁剪、剪切图片 提取图片的行和列
2019/09/19 Python
Python grpc超时机制代码示例
2020/09/14 Python
CSS3转换功能transform主要属性值分析及实现分享
2012/05/06 HTML / CSS
ALDI奥乐齐官方海外旗舰店:德国百年超市
2017/12/27 全球购物
俄罗斯金苹果网上化妆品和香水商店:Goldapple
2019/12/01 全球购物
中华魂放飞梦想演讲稿
2014/08/26 职场文书
2014年幼师工作总结
2014/11/22 职场文书
学习雷锋精神活动总结
2015/02/06 职场文书
保留意见审计报告
2015/06/05 职场文书
vue中三级导航的菜单权限控制
2021/03/31 Vue.js
为什么MySQL不建议使用SELECT *
2022/04/03 MySQL
使用Docker容器部署rocketmq单机的全过程
2022/04/03 Servers