返回顶部
首页 > 资讯 > 后端开发 > Python >Python实现自动化刷抖音的实例
  • 723
分享到

Python实现自动化刷抖音的实例

Python自动化刷抖音Python自动刷抖音 2022-06-02 22:06:42 723人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

前言 都说抖音有毒,一刷就停不下来了。看来抖音这款产品紧紧抓住了人们内心深处的某些需求。当然今天不是来探讨抖音这款产品的啊。今天我们来学习如何用python实现自动刷抖音,并为颜值高的的小哥哥小姐姐点赞并评论。 项

前言

都说抖音有毒,一刷就停不下来了。看来抖音这款产品紧紧抓住了人们内心深处的某些需求。当然今天不是来探讨抖音这款产品的啊。今天我们来学习如何用python实现自动刷抖音,并为颜值高的的小哥哥小姐姐点赞并评论。
项目环境
语言:python3
编辑器:PyCharm
其他工具:手机一个,数据线一条,Android studio

实现思路

获取手机抖音短视频的截图
2.调用百度api识别人脸
3.对符合条件的视频点赞和评论
获取抖音视频的截图
获取视频截屏,在这里用的是adb工具。adb工具即Android Debug Bridge(安卓调试桥)。是连接Android手机与PC端的桥梁,通过adb可以管理、操作模拟器和实体设备,如安装软件、查看设备软硬件参数、系统升级、运行shell命令等。在这里通过命令行窗口发送对应的命令,就可以实现手机的截屏。如果没有安装adb工具包,需要先安装adb工具包。

具体实现代码


# 图片压缩比例
SIZE_nORMal = 1.0
SIZE_small = 1.5
SIZE_more_small = 2.0


# adb手机截图
def get_screen_shot_img():
    # 截图
    os.system("adb shell /system/bin/screencap -p /sdcard/screenshot.jpg")
    os.system("adb pull /sdcard/screenshot.jpg face.jpg")
    # 压缩图片
    img = Image.open("face.jpg").convert('RGB')
    scale = SIZE_small
    w, h = img.size
    img.thumbnail((int(w / scale), int(h / scale)))
    img.save('face.jpg')

调用百度API识别人脸

(1)进入百度云的人脸识别控制台

https://console.bce.baidu.com/ai/?_=1528192333418&fromai=1#/ai/face/overview/index

若没有百度账号,可以用手机号快速注册一个。

(2)创建人脸识别应用

账号登录成功之后,你需要创建应用才能正式调用百度api,应用创建成功后会获取到应用对应的API Key及Secret Key,用着两个参数进行接口调用操作,及相关配置。

点击上图中的创建应用,填写【应用名称】和【应用描述】,即可创建应用(其他选项可以不做操作,使用默认值即可)

(3)获取秘钥

创建完成后,点击“返回应用列表”进行下一步操作。平台将会分配给你此应用的相关凭证:API Key、Secret Key。他将用于在下一步获取调用接口所需的Access Token中。

(4)拿到API Key,Secret Key之后,通过这两个参数获取调用接口所需的Access Token

具体实现代码


def get_access_token():
    # client_id 为官网获取的AK, client_secret 为官网获取的SK
    host = 'Https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【官网获取的AK】' \
           '&client_secret=【官网获取的SK】 '
    header_dict = {'User-Agent': 'Mozilla/5.0 (windows NT 6.1; Trident/7.0; rv:11.0) like Gecko',
                   "Content-Type": "application/JSON"}
    req = request.Request(url=host, headers=header_dict)
    res = request.urlopen(req)
    res = res.read()
    res_json = json.loads(res.decode('utf-8'))
    return res_json["access_token"]

调用百度API


'''
调用百度API,进行人脸探测
imgPath:图片的地址
access_token:开发者token
'''


def get_face_info_from_bai_du(img_path, access_token):
    # 接口请求地址
    request_url = "https://aip.baidubce.com/rest/2.0/face/v3/detect"
    # 二进制方式打开图片文件
    f = open(img_path, 'rb')
    # 图片转换为base64
    img = base64.b64encode(f.read())
    params = {"face_field": "age,beauty,gender", "image": img, "image_type": 'BASE64', "max_face_num": 5}
    params = urllib.parse.urlencode(params).encode(encoding='utf-8')
    request_url = request_url + "?access_token=" + access_token
    # 调用post请求方法
    face_info = get_info_post_json_data(request_url, params)
    # json字符串转对象
    face_json = json.loads(face_info)
    print(face_info)
    if face_json['error_msg'] == 'SUCCESS':
        # 如果没有发现人像,会返回空
        if face_json['result']['face_num'] == 0:
            face_dict = {}
        else:
            # 把想要的部分提取存入字典中
            result = face_json['result']['face_list'][0]
            gender = result['gender']['type']
            age = str(result['age'])
            beauty = str(result['beauty'])
            face_dict = {"gender": gender, "age": age, "beauty": beauty}
    return face_dict

注意此处有坑,说说我入坑的过程。申请完ak和sk之后我调用人脸识别的api。返回的消息是:{‘error_code': 6, ‘error_msg': ‘No permission to access data'}。我一查官方文档说是没有获取用户数据的权限。需要啥权限呢,难道调用这个接口还需要申请权限?不是有ak和sk吗?各种百度,无果。放弃了。晚上继续搞,这次从官方文档入手找原因。无意看到说是api升级了。从v2升级到了v3。我申请的ak和sk对应的是v3版的。而我调用的接口确实v2版的。具体体现在请求URL的区别上,所以苦苦找不到原因。从入坑的经历获取的教训是:一定要仔细看官方文档;找不出bug的时候,就先放一放,回头再看,就会茅塞顿开,一切迎刃而解。

下面给出正常调用api返回的json数据


{
    "error_code":0,
    "error_msg":"SUCCESS",
    "log_id":304592828857184421,
    "timestamp":1542885718,
    "cached":0,
    "result":{
        "face_num":1,
        "face_list":[
            {
                "face_token":"9ae54ea1941d2b9d8a7e881f3ae39fe1",
                "location":{
                    "left":374.5,
                    "top":406.94,
                    "width":140,
                    "height":136,
                    "rotation":30
                },
                "face_probability":0.99,
                "angle":{
                    "yaw":-12,
                    "pitch":10.26,
                    "roll":29.76
                },
                "age":21,
                "beauty":53.22,
                "gender":{
                    "type":"female",
                    "probability":1
                }
            }
        ]
    }
}

人脸识别这块。是根据你调用接口所传的参数来返回你需要的值。传的参数越多,返回消息越详细。我这里只获取年龄,性别,颜值这几个参数。同样v2版的接口和v3版的接口返回的数据格式也是有区别的。
对符合条件的视频点赞和评论
获取到api返回的数据后就是一些判断。我这里的判断是:如果识别到人脸,年龄在18岁以上,颜值在40以上。就点赞+评论。

具体实现


'''
将获得的数据进行分析
face_dict:人脸识别后的数据
'''


def analysis_face(face_dict):
    # 如果发现人脸继续判断
    if len(face_dict) != 0:
        # 如果为女生
        if face_dict["gender"] == "female":
            print("性别:女")
            print("年龄:" + face_dict["age"])
            print("颜值:" + face_dict["beauty"])
            # 如果颜值在40以上,并且年龄大于18继续
            if float(face_dict["beauty"]) > 40 and float(face_dict["age"]) > 18:
                # 点赞
                commentaries()
                print("------------------捕获小姐姐一枚------------------")
                print("------------------颜值好高哦,已点赞❤------------")
            else:
                print("颜值不及格,继续努力,下一个")
        # 如果为男生
        else:
            print("性别:男")
            print("年龄:" + face_dict["age"])
            print("颜值:" + face_dict["beauty"])
            # 如果颜值在40以上,并且年龄大于18继续
            if float(face_dict["beauty"]) > 40 and float(face_dict["age"]) > 18:
                # 点赞
                commentaries()
                print("------------------捕获小哥哥一枚------------------")
                print("------------------颜值好高哦,已点赞❤------------")
            else:
                print("颜值不及格,继续努力,下一个")
    else:
        print("没有发现小姐姐和小哥哥,下一个")
    # 上滑新视频
    next_video()

怎么实现点赞和评论呢?没错还是使用adb工具。不过这里还需要用到一个Android studio 插件——Android Device Monitor。为什么要用他呢。因为当我们点赞的时候,需要知道点赞这个按钮在屏幕的具体位置。同理评论也需要知道评论输入框的坐标位置。

下面来看怎么用Android Device Monitor获取手机屏幕坐标信息。

连接上手机之后,如上图4个步骤。就可以获取到手机屏幕任意一点的位置坐标。这里只需要输入大概的位置坐标即可。那么这个插件从哪来呢。据说Android Studio3.0之前的版本,都自带这个插件。而我刚好是3.0之后的版本,所以还需要另外做些工作。具体使用方式如下:

在android-sdk/tools/目录的命令行中输入以下内容:monitor。即进入CMD窗口,cd到当时安装Android-sdk的目录,再继续cd到tools目录下,然后输入命令monitor,这是期待已久的Android Device Monitor就会出现。因为每款手机的屏幕尺寸可能不一样。所以下面的参数仅是我手机测量得到的坐标。

下面就是具体点赞评论的实现


# 点赞评论
def commentaries():
    os.system("adb shell input tap 1000 1200")  # 点赞
    time.sleep(0.01)
    os.system("adb shell input tap 1000 1400")  # 点击评论按钮
    time.sleep(0.05)
    os.system("adb shell input tap 50 2000")  # 获取EditText输入框焦点
    os.system("adb shell am broadcast -a ADB_INPUT_TEXT --es msg '真好真好'")  # 评论
    os.system("adb shell input tap 1000 1860")  # 发送评论
    time.sleep(1)
    os.system("adb shell input tap 500 100")  # 退回主界面

这里还有一点需要注意:adb shell input text 不支持中文输入。只能输入'hello world'这样的英文,输入英文前也是需要将键盘切换到英文输入模式下的。继续百度,如何实现中文输入,发现另一个神器—ADBKeyBoard.apk,一款老外写的输入法。完美解决不能输入中文的问题。源码地址:https://GitHub.com/senzhk/ADBKeyBoard。安装这个app。并将默认输入法切换成ADBKeyBoard。

最后提醒大家,抖音会限制一个账号在一段时间内的评论次数,长时间高频率的评论抖音就会暂时关掉你的评论权限。会给你来一句“你的发言太快了,请你控制寄几”,估计害怕有人专门刷评论。不过个把小时就会解封。

到此这篇关于Python实现自动化刷抖音的实例的文章就介绍到这了,更多相关Python 自动化刷抖音内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python实现自动化刷抖音的实例

本文链接: https://lsjlt.com/news/10926.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python实现自动化刷抖音的实例
    前言 都说抖音有毒,一刷就停不下来了。看来抖音这款产品紧紧抓住了人们内心深处的某些需求。当然今天不是来探讨抖音这款产品的啊。今天我们来学习如何用Python实现自动刷抖音,并为颜值高的的小哥哥小姐姐点赞并评论。 项...
    99+
    2022-06-02
    Python 自动化刷抖音 Python 自动刷抖音
  • Python自动化实现抖音自动刷视频
    目录环境准备实现环境准备 Python3.5以上Appium Server服务器Android SDK,需要用到adb服务需要依赖Appium-Python-Client组件库真机或...
    99+
    2023-03-19
    Python 抖音自动刷视频 Python 抖音自动
  • 怎么使用Python自动化实现抖音自动刷视频
    这篇文章主要介绍了怎么使用Python自动化实现抖音自动刷视频的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用Python自动化实现抖音自动刷视频文章都会有所收获,下面我们一起来看看吧。环境准备Pytho...
    99+
    2023-07-05
  • Python+uiautomator2实现自动刷抖音视频功能
    工具准备 Python3.7.7 adb(Android debug bridge) uiautomatorviewer 安装adb 官网地址:https...
    99+
    2024-04-02
  • 如何用python实现自动刷抖音短视频
    这篇文章主要介绍“如何用python实现自动刷抖音短视频”,在日常操作中,相信很多人在如何用python实现自动刷抖音短视频问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何...
    99+
    2024-04-02
  • Python+uiautomator2怎么实现自动刷抖音视频功能
    小编给大家分享一下Python+uiautomator2怎么实现自动刷抖音视频功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!python可以做什么Python...
    99+
    2023-06-14
  • uniapp如何实现刷抖音小程序
    本篇内容介绍了“uniapp如何实现刷抖音小程序”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!去掉小程序顶部栏为了让小视频刷起来更有感觉,肯...
    99+
    2023-07-05
  • uniapp五分钟实现刷抖音小程序教程示例
    目录前言演示一下看看去掉小程序顶部栏滚动小视频组件数据样式事件代码片段写完了就得总结一下前言 最近闲来无事,在自己的小程序里面集成了一个小视频的接口,但是由于小程序对于播放视频的限...
    99+
    2023-03-19
    uniapp刷抖音小程序 uniapp 小程序
  • iOS实现抖音点赞动画效果
    本文实例为大家分享了iOS实现抖音点赞动画的具体代码,供大家参考,具体内容如下 1. 概述 最近看到抖音点赞爱心的动画效果比较好,出于好奇,自己也研究仿照动画效果写了一个,不喜欢的朋...
    99+
    2022-05-31
    iOS 抖音 点赞
  • SpringBootNacos实现自动刷新
    目录背景现象优化背景 SpringBoot 版本 <parent> <groupId>org.springframework.boot</gro...
    99+
    2023-01-14
    SpringBoot Nacos自动刷新 SpringBoot Nacos
  • python+requests+pytest接口自动化的实现示例
    目录1、发送get请求2、发送post请求3、发送https请求4、文件上传5、文件下载6、timeout超时7、鉴权 7.1、auth参数鉴权7.2、session操作7.3、to...
    99+
    2024-04-02
  • 使用python实现自动化群控的案例
    这篇文章将为大家详细讲解有关使用python实现自动化群控的案例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1. 前言群控,相信大部分人都不会陌生!印象里是一台电脑控制多台设备完成一系列的操作,更多的人...
    99+
    2023-06-14
  • 实现抖音两个旋转小球的loading技巧实例
    目录探索小圆球加载效果实现原理html代码如下样式代码canvas画圆的步骤模拟函数代码计算缩放比例的公式翻转动画的实现原理探索小圆球加载效果实现原理 抖音的小圆球加载效果相信大家都...
    99+
    2023-05-19
    抖音两个旋转小球loading 旋转小球loading
  • Python构建自动在线刷视频的实现
    目录前言一、完成功能的条件1.必备条件 2.非必备条件二、解决Python软件的坑1.安装Python2.安装Selenium3.下载并安装Chrome驱动二、万事具备、准备开工了1...
    99+
    2024-04-02
  • python+appium实现自动化测试的示例代码
    目录1.什么是Appium2.启动一个app自动化程序的步骤3.appium服务介绍4. appium客户端使用5.adb的使用 6.Appium启动过程分析1....
    99+
    2024-04-02
  • react实现浏览器自动刷新的示例代码
    目录什么是前端路由?如何实现前端路由?hash 实现history 实现 原生JS版前端路由实现基于 hash 实现基于 history 实现React 版前端路由实现基于...
    99+
    2024-04-02
  • Python实现自动化整理文件的示例代码
    目录自动化整理计算机文件1. 文件的自动分类2. 文件和文件夹的快速查找3. 自动清理重复文件4. 批量转换图片格式5. 按拍摄日期自动分类图片自动化整理计算机文件 通过Python...
    99+
    2024-04-02
  • php怎么实现自动刷题
    这篇文章给大家分享的是有关php怎么实现自动刷题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。                 &n...
    99+
    2023-06-22
  • Python实现网络自动化eNSP
    目录1.使用Paramiko登陆到单台交换机实验拓扑实验要求2.使用Paramiko登陆到连续子网交换机实验拓扑实验要求实验步骤3.Paramiko登陆不连续子网交换机实验拓扑实验要求4.sys.argv[ ] 实现...
    99+
    2022-06-02
    Python 网络自动化eNSP Python 网络自动化
  • Appium+Python实现自动化登录
    #Appium+Python实现自动化测试 Appium简介 官方的概述为: Appium is an open source test automation framework for use with native, hybrid...
    99+
    2023-01-31
    Appium Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作