如何使用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 相关文章推荐
pycharm 使用心得(一)安装和首次使用
Jun 05 Python
在Python中使用SimpleParse模块进行解析的教程
Apr 11 Python
使用Python脚本和ADB命令实现卸载App
Feb 10 Python
python实现二分查找算法
Sep 21 Python
python爬虫获取淘宝天猫商品详细参数
Jun 23 Python
Django 忘记管理员或忘记管理员密码 重设登录密码的方法
May 30 Python
python进行文件对比的方法
Dec 24 Python
python实现得到当前登录用户信息的方法
Jun 21 Python
Python爬虫抓取技术的一些经验
Jul 12 Python
Django stark组件使用及原理详解
Aug 22 Python
Keras loss函数剖析
Jul 06 Python
sublime3之内网安装python插件Anaconda的流程
Nov 10 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 输出简单动态WAP页面
2009/06/09 PHP
php截取中文字符串不乱码的方法
2013/12/25 PHP
php实现RSA加密类实例
2015/03/26 PHP
PHP验证类的封装与使用方法详解
2019/01/10 PHP
php7 图形用户界面GUI 开发示例
2020/02/22 PHP
调用js时ie6和ie7,ff的区别
2009/08/19 Javascript
精通JavaScript 纠正 cleanWhitespace函数
2010/03/11 Javascript
jQuery 瀑布流 绝对定位布局(二)(延迟AJAX加载图片)
2012/05/23 Javascript
Javascript基础教程之定义和调用函数
2015/01/18 Javascript
用JavaScript实现对话框的教程
2015/06/04 Javascript
checkbox 选中一个另一个checkbox也会选中的实现代码
2016/07/09 Javascript
AngularJS动态加载模块和依赖的方法分析
2016/11/08 Javascript
详解使用Vue.Js结合Jquery Ajax加载数据的两种方式
2017/01/10 Javascript
js Canvas绘制圆形时钟教程
2017/02/06 Javascript
利用require.js与angular搭建spa应用的方法实例
2017/07/19 Javascript
vue+element实现批量删除功能的示例
2018/02/28 Javascript
Vue异步组件处理路由组件加载状态的解决方案
2018/09/07 Javascript
jQuery实现的简单歌词滚动功能示例
2019/01/07 jQuery
JS事件绑定的常用方式实例总结
2019/03/02 Javascript
Vue两种组件类型:递归组件和动态组件的用法
2020/08/06 Javascript
matplotlib绘制符合论文要求的图片实例(必看篇)
2017/06/02 Python
Python使用matplotlib绘制多个图形单独显示的方法示例
2018/03/14 Python
python实现简单的文字识别
2018/11/27 Python
Python基于滑动平均思想实现缺失数据填充的方法
2019/02/21 Python
简单分析python的类变量、实例变量
2019/08/23 Python
HTML5中使用postMessage实现两个网页间传递数据
2016/06/22 HTML / CSS
移动端Html5中百度地图的点击事件
2019/01/31 HTML / CSS
Boden澳大利亚官网:英国在线服装公司
2018/08/05 全球购物
幼儿园园长岗位职责
2013/11/26 职场文书
机关单位人员学雷锋心得体会
2014/03/10 职场文书
恶搞卫生巾广告词
2014/03/18 职场文书
秋季开学典礼主持词
2014/03/19 职场文书
员工试用期自我鉴定范文
2014/09/15 职场文书
销售经理工作失职检讨书
2014/10/24 职场文书
财务个人年度总结范文
2015/02/26 职场文书
开业庆典致辞
2015/08/01 职场文书