• python使用ADB工具连接手机进行操作


    准备工作:
    一、手机通过数据线连接电脑
    二、手机进入开发者模式并进入调试模式
    三、电脑安装ADB工具
    原理:
    1、通过ADB工具将手机进行连接并截屏并将手机截屏图片保存到电脑中。
    2、通过截屏的图片进行裁剪等处理
    3、利用BD人物识别第三方接口进行分析出人物性别、年龄、颜值等。
    4、一个视频取三个时间点进行判断颜值、性别、符合条件 进行。
    源码如下:

    
    import time
    from aip import AipFace
    import os
    from PIL import Image
    import base64   
    
    
    def jieping():  #截屏
        for ii in range(1,101):  #100可自已设置
    
            for i,y in zip(range(1,4),(1,2,2)):  #i为截图判断次数 y为每次间隔时间  可自行调整
                time.sleep(y)  #延迟时间(y)
                os.system(f'adb shell screencap -p /sdcard/01.png')    #截屏到手机上 sdcard/01.png 中的sdcard/ 为默认地址不用修改
                os.system(f'adb pull /sdcard/01.png')                  #将截屏保存到电脑上
                img = Image.open('01.png').convert('RGB')
                img = img.crop((70, 125, 600, 1100))      #裁剪图片   Image.crop(left, up, right, below) 与左边界的距离 与上边界的距离 还是与右边界的距离 还是与下边界的距离
                img.thumbnail((200, 360))  #压缩图片大小  也可以不用压缩自行选择
                img.save('02.png')      #保存压缩后的图片     
                jieguo=renlian()    #返回人脸识别结果
                print(jieguo)
                try:
                    if int(jieguo[0]) >= 69 and jieguo[2] <= 23 and jieguo[1] == 'female':
                        print('这个是美女要点赞')
                        dianzan()  #进行点赞
                        break
                    else:
                        print('不符合条件')
                except:
                    print('识别中')
            os.system(f'adb shell input swipe 400 1000 400 400 200')  # 向上滑动屏幕进入下一个视频
    
    
    
    def getbase64():   #获取本地图片base64值
        f = open('02.png', 'rb')  # 第一个参数图像路径
        img_base64 = base64.b64encode(f.read()).decode('utf-8')
        f.close()
        return img_base64
    
    def renlian():  #人脸识别
        print('开始识别时间:', time.ctime())
        try:
            APP_ID = '*******'   #自已在网上注册会有
            API_KEY = '*********'  #自已在网上注册会有
            SECRET_KEY = '***********'  #自已在网上注册会有
            client = AipFace(APP_ID, API_KEY, SECRET_KEY)
            image = getbase64()  #本地地图的base64值
            imageType = "BASE64"
            html=client.detect(image, imageType,{'face_field':'beauty,age,gender'})
            beauty=html['result']['face_list'][0]['beauty']   #取字典里的字典和列表里的字典
            gender=html['result']['face_list'][0]['gender']['type'] #性别
            age=html['result']['face_list'][0]['age']
            print("颜值评分:",beauty,"性别:",gender,"年龄:",age)
            return beauty,gender,age
        except:
            print('识别中')
    
    def dianzan():   #点赞
        os.system(f'adb shell input tap 664 878')   #根据自已的手机进行调整 x,y 坐标位置 
    
    if __name__== '__main__':
        package_name = 'com.ss.android.ugc.aweme'
        activity_name = 'com.ss.android.ugc.aweme.splash.SplashActivity'
    
        os.system(f'adb shell am start -n %s/%s'%(package_name,activity_name))    #打开app 去掉手动启动app
        beauty=''
        age=''
        gender=''
        jieping()
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71

    自动收集后的效果图如下:

    备注:
    1、博主手机分辨率为7201600 不同分辨率的手机x,y坐标进行相应调整。
    2、人物识别接口请自行注册。
    3、可在此基础上增加视频自动留言功能对喜欢的视频进行留言
    喜欢可以私信留言
    *************

  • 相关阅读:
    ElementUI之动态树+数据表格+分页
    非零基础自学Java (老师:韩顺平) 第8章 面向对象编程(中级部分) 8.6 面向对象编程三大特征 && 8.7 快速入门案例
    2022年卡塔尔世界杯黑科技盘点
    Java 面试问题 —— 多线程模块(JUC 模块)
    linux------常用命令和系统命令
    「硬核」实操如何拥有一个自己的数字人模型
    【线性系统理论】笔记三
    Python Opencv实践 - Shi-Tomasi角点检测
    讲讲vue3下会造成响应式丢失的情况
    「PAT乙级真题解析」Basic Level 1091 N-自守数 (问题分析+完整步骤+伪代码描述+提交通过代码)
  • 原文地址:https://blog.csdn.net/wg2627/article/details/126576886