抖音短视频数据抓取实战系列(十)——获取抖音dom元素属性

抖音短视频数据抓取实战系列(十)——获取抖音dom元素属性

项目目录
1、抖音短视频数据抓取实战系列(〇)——前言
2、抖音短视频数据抓取实战系列(一)——模拟器的选择与设置
3、抖音短视频数据抓取实战系列(二)——Fiddler安装配置以及模拟器监测环境配置
4、抖音短视频数据抓取实战系列(三)——Fiddler抓取抖音用户详细信息数据
5、抖音短视频数据抓取实战系列(四)——Java解析Json文件数据并存库
6、抖音短视频数据抓取实战系列(五)——Mitmproxy的安装以及模拟器Mitmproxy证书安装
7、抖音短视频数据抓取实战系列(六)——Mitmproxy+python编写监测程序
8、抖音短视频数据抓取实战系列(七)——python连接MySQL数据库
9、抖音短视频数据抓取实战系列(八)——Mitmproxy抓取用户详细信息并入库
10、抖音短视频数据抓取实战系列(九)——自动化Appium的环境与参数配置
11、抖音短视频数据抓取实战系列(十)——获取抖音dom元素属性
12、抖音短视频数据抓取实战系列(十一)——Appium与Mitmproxy联合-自动取存抖音用户信息
13、抖音短视频数据抓取实战系列(十二)——抓取实战BUG总集


1、首先我们分析抖音自动获取用户信息过程为,自动上划来到一个新的用户视频->自动左滑来到用户信息页->点击<退出一次用户抓取成功,如此往复循环。博主在上网查阅资料的时候得知,appnium对app自动化是通过dom描述进行定位的,接下来我们来获取抖音的dom元素属性。

2、我们这里通过安装sdk使用下载的tools里的monitor.bat进行获取,详细步骤如下,双击monitor.bat,选中我们需要获取属性的dom元素,这样我们就可以在右侧看到元素详细属性,这里我们使用它的id。
抖音短视频数据抓取实战系列(十)——获取抖音dom元素属性_第1张图片
抖音短视频数据抓取实战系列(十)——获取抖音dom元素属性_第2张图片
抖音短视频数据抓取实战系列(十)——获取抖音dom元素属性_第3张图片
3、完成自动化脚本,加入自动化运行程序,详细代码如下:

from appium import webdriver
#WebDriverWait用来加入时间判断,有时候控件元素需要过一段时间才会出现
from selenium.webdriver.support.ui import WebDriverWait
import time

num=1

#配置信息
option={
  "platformName": "android",
  "platformVersion": "5.1.0",
  "deviceName": "emulator-5554",
    #自动化测试包名
  "appPackage": "com.ss.android.ugc.aweme",
    #自动化测试Activity

  "appActivity": "com.ss.android.ugc.aweme.splash.SplashActivity",
    #"appActivity": "com.ss.android.ugc.aweme.main.MainActivity",
    #再次启动不需要再次安装
  "noReset": True,
    #unicode键盘 我们可以输入中文
  "unicodekeyboard": True,
    #操作之后还原回原先的输入法
  "resetkeyboard": True
}

#其中的4723就是appium服务启动时的端口号
driver = webdriver.Remote("http://localhost:4723/wd/hub",option)

#得到窗口大小
def get_size():
    x=driver.get_window_size()['width']
    y=driver.get_window_size()['height']
    return x, y

def getuser():
    global num
    size = get_size()
    time.sleep(1)
    try:#上划
        # 定义滑动
        x1 = int(size[0] * 0.5)
        x2 = int(size[0] * 0.7)
        y1 = int(size[1] * 0.9)
        y2 = int(size[1] * 0.2)
        # 模拟滑动
        time.sleep(1)
        driver.swipe(x1, y1, x2, y2)
        print("**第{0}次上划**".format(num))
    except:
        pass

    time.sleep(1)
    try:#左滑
        # 定义滑动
        x1 = int(size[0] * 0.9)
        x2 = int(size[0] * 0.3)
        y1 = int(size[1] * 0.5)
        y2 = int(size[1] * 0.5)
        # 模拟滑动
        time.sleep(1)
        driver.swipe(x1, y1, x2, y2)
        print("**第{0}次左滑**".format(num))
    except:
        pass

    # 点进去具体界面

    time.sleep(1)
    try:
        if WebDriverWait(driver, 5).until(lambda x: x.find_element_by_id('com.ss.android.ugc.aweme:id/l6')):
            # 进入用户信息界面
            print("**抓取第{0}个用户数据**".format(num))
            time.sleep(1)
            driver.find_element_by_id('com.ss.android.ugc.aweme:id/l6').click()  # 返回
            # driver.find_element_by_id('com.ss.android.ugc.aweme:id/bgg').click()#头像
    except:
        pass


time.sleep(10)#延迟十秒运行,主要是博主这边比较卡
for num in range(1,1000):#设置执行测试
    print("————开始执行第{0}次".format(num))
    getuser()
    print("第{0}次执行完成————".format(num))

4、执行自动化脚本,注意开启Appium服务器和Mitmproxy监测程序,如图成功。第三次被博主终止了。
抖音短视频数据抓取实战系列(十)——获取抖音dom元素属性_第4张图片
抖音短视频数据抓取实战系列(十)——获取抖音dom元素属性_第5张图片
5、自动化测试成功,接下来就是联合Mitmproxy,完成简易的自动化抓取抖音用户信息操作了。


项目目录
1、抖音短视频数据抓取实战系列(〇)——前言
2、抖音短视频数据抓取实战系列(一)——模拟器的选择与设置
3、抖音短视频数据抓取实战系列(二)——Fiddler安装配置以及模拟器监测环境配置
4、抖音短视频数据抓取实战系列(三)——Fiddler抓取抖音用户详细信息数据
5、抖音短视频数据抓取实战系列(四)——Java解析Json文件数据并存库
6、抖音短视频数据抓取实战系列(五)——Mitmproxy的安装以及模拟器Mitmproxy证书安装
7、抖音短视频数据抓取实战系列(六)——Mitmproxy+python编写监测程序
8、抖音短视频数据抓取实战系列(七)——python连接MySQL数据库
9、抖音短视频数据抓取实战系列(八)——Mitmproxy抓取用户详细信息并入库
10、抖音短视频数据抓取实战系列(九)——自动化Appium的环境与参数配置
11、抖音短视频数据抓取实战系列(十)——获取抖音dom元素属性
12、抖音短视频数据抓取实战系列(十一)——Appium与Mitmproxy联合-自动取存抖音用户信息
13、抖音短视频数据抓取实战系列(十二)——抓取实战BUG总集

你可能感兴趣的:(自动化,数据抓取,java,python,爬虫,数据库)