python下载抖音视频|如何使用Python在抖音上找到漂亮小姐姐

今天无意中看到一篇一年前的技术文章,文章的作者ID为“神奇的战士”(Github上ID为wangshub),这位作者也是曾经有名的“微信跳一跳辅助”的Python大佬。

 

下面言归正传,看看如何利用Python做一些有趣的事,比如在抖音上找到漂亮小姐姐。

 

技术原理很简单,主要利用的是Python和Android ADB的结合,加以AI辅助,从而实现在抖音上发现漂亮面孔、点赞、关注以及自动评论,先来看看成效如何:

 

自动关注+点赞

 

实现功能包括:

 

  • 自动翻页

  • 颜值检测

  • 人脸识别

  • 自动点赞

  • 自动关注

  • 随机防 Ban

  • 自动评论

     

     

实现步骤如下:

 

  1. 打开《抖音短视频》APP,进入主界面

  2. 获取手机截图,并对截图进行压缩 (Size < 1MB);

  3. 请求人脸识别 API;

  4. 解析返回的人脸 Json 信息,对人脸检测切割;

  5. 当颜值大于门限值 BEAUTY_THRESHOLD时,点赞并关注;

  6. 下一页,返回第一步。

 

下面我们来看看部分代码实现:

 

使用adb shell input swipe实现滑动,从而实现“下一页”:

 

在终端中输入 adb shell input swipe 540 1300 540 500 100   

表示从坐标点(540,1300)用100ms滑动到(540,500)坐标点, 最后的100,为时间参数,以毫秒为单位,不填则为默认时间。

 

code:

 

  •  
def next_page():    """    翻到下一页    :return:    """    cmd = 'shell input swipe {x1} {y1} {x2} {y2} {duration}'.format(        x1=config['center_point']['x'],        y1=config['center_point']['y']+config['center_point']['ry'],        x2=config['center_point']['x'],        y2=config['center_point']['y'],        duration=200    )    adb.run(cmd)    time.sleep(1.5)

 

使用adb shell input tap实现屏幕点击,从而实现“点赞”和“关注”:

 

在终端中输入 adb shell input tap 500 500

表示在坐标500,500处进行点击

 

code:

 

def thumbs_up():    """    点赞    :return:    """    cmd = 'shell input tap {x} {y}'.format(        x=config['star_bottom']['x'] + _random_bias(10),        y=config['star_bottom']['y'] + _random_bias(10)    )    adb.run(cmd)    time.sleep(0.5)

 

​​​​​​​

def follow_user():    """    关注用户    :return:    """    cmd = 'shell input tap {x} {y}'.format(        x=config['follow_bottom']['x'] + _random_bias(10),        y=config['follow_bottom']['y'] + _random_bias(10)    )    adb.run(cmd)    time.sleep(0.5)

 

使用 am broadcast -a ADB_INPUT_TEXT --es msg,从而实现自动评论:

 

在控制台输入adb shell am broadcast -a ADB_INPUT_TEXT --es msg 'test'

即可实现输入指定的文本

 

code:

def auto_reply():
    msg = "垆边人似月,皓腕凝霜雪。就在刚刚,我的心动了一下,小姐姐你好可爱呀_Powered_By_Python"
    # 点击右侧评论按钮    tap(config['comment_bottom']['x'], config['comment_bottom']['y'])    time.sleep(1)    #弹出评论列表后点击输入评论框    tap(config['comment_text']['x'], config['comment_text']['y'])    time.sleep(1)    #输入上面msg内容 ,注意要使用ADB keyboard  否则不能自动输入,参考:https://www.jianshu.com/p/2267adf15595    cmd = 'shell am broadcast -a ADB_INPUT_TEXT --es msg {text}'.format(text=msg)    adb.run(cmd)    time.sleep(1)    # 点击发送按钮    tap(config['comment_send']['x'], config['comment_send']['y'])    time.sleep(0.5)
    # 触发返回按钮, keyevent 4 对应安卓系统的返回键,参考KEY 对应按钮操作:https://www.cnblogs.com/chengchengla1990/p/4515108.html    cmd = 'shell input keyevent 4'    adb.run(cmd)

 

而对于漂亮小姐姐的识别,则是将当前视频屏幕进行截图,然后将图片放到AI平台,调用其API进行判断(请自行申请AI平台的AppID和AppKey),如腾讯AI、百度AI等:

 

 

利用BEAUTY_THRESHOLD与API返回的JSON数据中的beauty值进行比对,从而判断是否为“漂亮”小姐姐,当然代码中的BEAUTY_THRESHOLD的初始默认值为80,可以根据需要自行修改。

 

需要注意的是,目前该代码暂时只适配了一加5(1920x1080 分辨率),如果手机不是该分辨率,需要修改 config/ 文件夹下面的配置文件;

  • config.json配置文件参考:

  • center_point: 屏幕中心点(x, y),区域范围 rx, ry

  • follow_bottom: 关注按钮位置(x, y),区域范围 rx, ry

  • star_bottom: 点赞按钮位置(x, y),区域范围 rx, ry

     

另外,面部截取的图片会保存在名为face的文件夹中,

 

 

目前该代码在Github上的Star数量已高达6.7K,甚至曾被Github官方推荐至首页,果然是广大技术宅男之福音。

 

随着Python的越来越流行,使用Python可以做出很多有趣的事,各位少年,加油吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值