最近发现抖音有一个新功能可以显示抖音的在线状态,如下图:
于是心血来潮,决定用python监控朋友的在线状态抖音刷网站在线刷app,没想到收获意外。
本次监控主要使用python的appium库。网站上有很多关于appium的使用和安装的教程,但是我一个都没试过成功,所以自己做了一套。文末,失败了就来找我吧! ! !
先用appium客户端打开抖音抖音刷网站在线刷app,配置如下:
{
"platformName": "Android",
"deviceName": "VOG-AL00",
"appPackage": "com.ss.android.ugc.aweme",
"appActivity": ".main.MainActivity",
"noReset": "true",
"fullReset": "false"
}
点击开始会话:
点击“消息”元素:
再次点击进入聊天窗口:
显示在线状态元素的id为:
com.ss.android.ugc.aweme:id/blc
那么,我们只需要不断地请求当前页面元素的值,就可以得到好友的在线状态,如果返回“在线”,则判断用户在线;否则判断不在线。
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.根据在线状态绘制折线图
import pandas as pd
import pyecharts.options as opts
from pyecharts.charts import Line
df = pd.read_excel('在线时间.xls',usecols=['时间', '状态'])
x=df['时间'].values.tolist()
y=df['状态'].values.tolist()
line=(
Line()
.add_xaxis(xaxis_data=x)
.add_yaxis(series_name="在线时间",y_axis=y, is_step=True)
.set_global_opts(title_opts=opts.TitleOpts(title="抖音在线时间折线图"))
)
line.render_notebook()
你可以从图中找出秘诀是什么?
我找到了!
如何获取源代码:
①3000多本Python电子书有②Python开发环境安装教程③Python400自学视频有④软件开发常用词汇有⑤Python学习路线图有⑥项目源码如果会用可以直接拿。在我的QQ技术交流群,群号:754370353(纯技术交流和资源共享,无广告)自行领取,点此领取