如何使用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持久性管理pickle模块详细介绍
Feb 18 Python
python实现的文件同步服务器实例
Jun 02 Python
python读写json文件的简单实现
Apr 11 Python
Python简单实现自动删除目录下空文件夹的方法
Aug 29 Python
Python利用itchat对微信中好友数据实现简单分析的方法
Nov 21 Python
神经网络python源码分享
Dec 15 Python
Python安装图文教程 Pycharm安装教程
Mar 27 Python
基于Django URL传参 FORM表单传数据 get post的用法实例
May 28 Python
tensorflow 中对数组元素的操作方法
Jul 27 Python
python学习——内置函数、数据结构、标准库的技巧(推荐)
Apr 18 Python
python 检查数据中是否有缺失值,删除缺失值的方式
Dec 02 Python
基于Python正确读取资源文件
Sep 14 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
用php或asp创建网页桌面快捷方式的代码
2010/03/23 PHP
PHP数据集构建JSON格式及新数组的方法
2012/11/07 PHP
探讨各种PHP字符串函数的总结分析
2013/06/05 PHP
php实现ip白名单黑名单功能
2015/03/12 PHP
php实现文章置顶功能的方法
2016/10/20 PHP
jQuery实现可拖动的浮动层完整代码
2013/05/27 Javascript
JavaScript中this的使用详解
2013/11/08 Javascript
可插入图片的TEXT文本框
2013/12/27 Javascript
用JavaScript动态建立或增加CSS样式表的实现方法
2016/05/20 Javascript
js原生跨域_用script标签的简单实现
2016/09/24 Javascript
jQuery.parseHTML() 函数详解
2017/01/09 Javascript
原生javascript AJAX 三级联动的实现代码
2018/05/04 Javascript
Js通过AES加密后PHP用Openssl解密的方法
2019/07/12 Javascript
解决node.js含有%百分号时发送get请求时浏览器地址自动编码的问题
2019/11/20 Javascript
vue 判断两个时间插件结束时间必选大于开始时间的代码
2020/11/04 Javascript
关于vue 项目中浏览器跨域的配置问题
2020/11/10 Javascript
原生js实现自定义难度的扫雷游戏
2021/01/22 Javascript
JavaScript 中的执行上下文和执行栈实例讲解
2021/02/25 Javascript
[37:21]完美世界DOTA2联赛PWL S2 Inki vs Magma 第二场 11.22
2020/11/24 DOTA
Python删除Java源文件中全部注释的实现方法
2017/08/30 Python
使用python实现knn算法
2017/12/20 Python
Python3结合Dlib实现人脸识别和剪切
2018/01/24 Python
详解Django中类视图使用装饰器的方式
2018/08/12 Python
Python3实现的判断环形链表算法示例
2019/03/07 Python
python zip,lambda,map函数代码实例
2020/04/04 Python
python raise的基本使用
2020/09/10 Python
python3爬虫GIL修改多线程实例讲解
2020/11/24 Python
纯CSS3大转盘抽奖示例代码(响应式、可配置)
2017/01/13 HTML / CSS
HTML5中的websocket实现直播功能
2018/05/21 HTML / CSS
JD Sports比利时官网:英国领先的运动鞋和运动服饰零售商
2018/10/10 全球购物
英国领先的名牌服装折扣零售商:Brown Bag Clothing
2019/01/08 全球购物
国庆节演讲稿
2014/05/27 职场文书
离婚起诉书怎么写
2015/05/19 职场文书
Nginx设置日志打印post请求参数的方法
2021/03/31 Servers
go goroutine 怎样进行错误处理
2021/07/16 Golang
Win11 Dev 预览版25174.1000发布 (附更新修复内容汇总)
2022/08/05 数码科技