利用Python和Appium自动化监测抖音在线状态

竹里
竹里
发布时间:2026-10-14 | 2人浏览过
原创

本文介绍如何使用Python结合Appium框架,通过Android自动化脚本实时监测抖音用户的在线状态。文章详细讲解了从环境配置、元素定位到数据抓取及可视化展示的全过程,帮助读者掌握移动端应用自动化监测的基本技巧。

抖音在线状态监测原理

今天分享一个有趣的实践案例,灵感源自近期与室友的交流。据他透露,抖音应用支持实时显示用户的在线状态,具体效果可参考下图:

具体操作路径为:打开抖音消息列表,进入特定用户的聊天窗口,即可看到如上图所示的在线状态标识。

由此产生一个想法:能否利用Python脚本,实现对某用户全天在线状态的持续监测?

说做就做,首先选取室友作为测试对象。

自动化监测逻辑分析

1. 逻辑分析

正如俗语所言,磨刀不误砍柴工,在动手前理清逻辑至关重要,否则容易事倍功半。 最初尝试使用手机模拟器进行操作,但发现模拟器无法显示在线状态。因此,最终决定使用实体手机进行实际操作。

首先,使用Appium客户端启动抖音应用(关于Appium的安装与基础使用,可参考往期文章),配置参数如下所示:

点击“Start Session”按钮启动会话:

接着定位并点击“消息”元素:

随后点击进入具体的聊天窗口:

用于显示在线状态元素的ID为:

com.ss.android.ugc.aweme:id/blc

因此,只需在当前页面循环请求获取该元素的文本值,即可判断好友的在线状态。若返回值为“在线”,则判定用户在线;否则判定为不在线。

Python代码实现步骤

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 相关产品和应用

全部下载

专题列表