准备工作:
一、手机通过数据线连接电脑
二、手机进入开发者模式并进入调试模式
三、电脑安装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、博主手机分辨率为7201600 不同分辨率的手机x,y坐标进行相应调整。
2、人物识别接口请自行注册。
3、可在此基础上增加视频自动留言功能对喜欢的视频进行留言
喜欢可以私信留言*************