最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

Python竟然能监控抖音?这操作666

XAMPP案例 admin 21浏览 0评论
最近发现抖音有一个新功能,可以显示抖音的在线状态,如下图所示:

dz33

于是我突发奇想,决定用python监控一下某位好友的在线状态,没想到还有意外的收获。

本次监控主要用到python的appium库,关于appium的使用和安装,网站有很多教程,但是我一个都没试成功过,于是我一咬牙自己做了一套,教程在文末,不成功过来找我!!!

首先用appium客户端打开抖音,配置如下:

{
  "platformName": "Android",
  "deviceName": "VOG-AL00",
  "appPackage": "com.ss.android.ugc.aweme",
  "appActivity": ".main.MainActivity",
  "noReset": "true",
  "fullReset": "false"
}

点击start session:

dz033

点击“消息”元素:

dz0033

再点击进入聊天窗口:

显示在线状态元素的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()

dz00033

你能从图中发现什么秘密吗?

转载请注明:XAMPP中文组官网 » Python竟然能监控抖音?这操作666