Python教程

Python竟然能监控抖音?这也太刺激了!

本文主要是介绍Python竟然能监控抖音?这也太刺激了!,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

最近发现抖音有一个新功能,可以显示抖音的在线状态,如下图所示:

 

于是我突发奇想,决定用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:

 

 

点击“消息”元素:

 

 

再点击进入聊天窗口:

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

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

本文代码、Appium安装和使用教程获取方式如下:

近期有很多朋友通过私信咨询有关Python学习问题。为便于交流,点击蓝色自己加入讨论解答资源基地

 

这篇关于Python竟然能监控抖音?这也太刺激了!的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!