分享Python自动刷抖音源码

仅供学习交流使用,严禁出售等用于非法用途。

0x00 前言

平时没啥空刷抖音,但是又想不让同学朋友知道自己每天偷偷学习“内卷别人”,这就需要用到自动刷抖音了,让朋友看到你一整天都抖音在线,荒废时间,虚度人生。(使用记得开启在线显示哦~,反正就是在线朋友能看到的那个功能)

运行截图:

0x01 正文

代码如下,就不多进行介绍了


import uiautomator2 as u2

from uiautomator2 import Direction

import threading
import time
import math
import random

phone = u2.connect()

width = phone.device_info["display"]["width"]      # 获取屏幕宽度
height = phone.device_info["display"]["height"]    # 获取屏幕高度


# //=========因为抖音每个版本所有id节点都会变化,所以统一写在这里,方便后期维护=============||
concern_id = "com.ss.android.ugc.aweme:id/f5k"          # 关注id节点    ==||
# 点赞没有id节点   index(0).depth(32).drawingOrder(1)     # 没有点赞节点   ==||
talk_id = "com.ss.android.ugc.aweme:id/cue"             # 评论id节点    ==||
collection_id = "com.ss.android.ugc.aweme:id/co9"       # 收藏id节点    ==||
friend_red = "com.ss.android.ugc.aweme:id/q10"          # 朋友红点id节点 ==||
message_red = "com.ss.android.ugc.aweme:id/q10"         # 消息红点id节点 ==||
# //===========================================================================||

# //--------------概率获取:后期改为跟用户界面交互,目前暂时代码修改运行-------------------|
concern_chance = 5                                     # 关注概率          -|
like_chance = 5                                        # 点赞概率          -|
talk_chance = 5                                        # 评论概率          -|
collection_chance = 5                                  # 收藏概率          -|
# //----------------------百分比概率,但无需添加百分号!!!---------------------------|


def button_click(button_id):
    ResourceId = phone(resourceId=button_id)
    if ResourceId.exists:
        return ResourceId.click_exists()
# 通过id节点进行点击


def keep_index():
    print("启动守护线程")
    while 1:
        index_button = phone.xpath('//*[@resource-id="com.ss.android.ugc.aweme:id/root_view"]/android.widget.FrameLayout[1]')
        if not index_button.exists:
            print("不在首页了,点击返回安排回来")
            phone.press("back")
            time.sleep(2)
        time.sleep(3)
# 保持留在主页


def concern():
    numdsf = math.floor(random.random()*(1 - 100) + 100)
    if (numdsf >= 1) and (numdsf <= concern_chance):
        if button_click(concern_id):
            print("嘎嘎关注")
            time.sleep(random.uniform(0.9, 1.5))


def like():
    numdsf = math.floor(random.random()*(1 - 100) + 100)
    if (numdsf >= 1) and (numdsf <= like_chance):
        like_button = phone.xpath('//*[@resource-id="com.ss.android.ugc.aweme:id/dy4"]/android.widget.ImageView[1]')
        if like_button.exists:
            print("嘎嘎点赞")
            like_button.click()
            time.sleep(random.uniform(0.9, 1.5))


def talk():
    numdsf = math.floor(random.random()*(1 - 100) + 100)
    if (numdsf >= 1) and (numdsf <= talk_chance):
        if button_click(talk_id):
            print("嘎嘎评论")
            time.sleep(random.uniform(0.9, 1.5))


def collection():
    numdsf = math.floor(random.random()*(1 - 100) + 100)
    if (numdsf >= 1) and (numdsf <= collection_chance):
        if button_click(collection_id):
            print("嘎嘎收藏")
            time.sleep(random.uniform(0.9, 1.5))


def random_swipe():
    i = random.randint(1, 5)         # 生成 1~5 之间随机整数 并且 赋值给 i
    if i > 2:
        print("概率下滑")
        s_x = random.uniform(width/5, width/(3/2))           # 开始x在 屏宽/5     和 屏宽/1.5之间
        s_y = random.uniform(height/(3/2), height/(5/4))     # 开始y在 屏高/1.5   和 屏高/1.25 之间
        e_x = random.uniform(width/5, width/(3/2))           # 结束x一样在 屏宽/5  和 屏宽/1.5之间
        e_y = random.uniform(height/5, height/6)             # 结束y在 屏高/5     和 屏高/6 之间

        phone.swipe(s_x, s_y, e_x, e_y, random.uniform(0.3, 0.4))

    else:
        print("页面下翻")
        phone.swipe_ext(Direction.FORWARD)  # 页面下翻


def main():

    global concern_chance, like_chance, talk_chance, collection_chance
    # 作用全局变量

    t1 = threading.Thread(target=keep_index)
    t1.start()
    # 把保持留在主页作为子线程运行
    while 1:
        time.sleep(random.uniform(3, 15))
        sx_gy = phone(resourceId="com.ss.android.ugc.aweme:id/km3", text="山西工程职业学院唐槐校区")
        if sx_gy.exists:
            print("遇到工院唐槐的关注点赞评论收藏概率提升至100")
            concern_chance = 100
            like_chance = 100
            talk_chance = 100
            collection_chance = 100

        concern()                # 概率关注函数执行
        like()                   # 概率点赞函数执行
        talk()                   # 概率评论函数执行
        collection()             # 概率收藏函数执行
        time.sleep(random.randint(3, 15))
        random_swipe()           # 多随机模拟人工,防检测下滑

        concern_chance = 5
        like_chance = 5
        talk_chance = 5
        collection_chance = 5


if __name__ == '__main__':
    print("开始执行脚本")
    main()

0x02 后记

真心建议朋友们要在快节奏的生活中,每天抽出一点时间读读书,静静地思考一下人的尊严和价值,而不是习惯于抱着手机翻头条、玩手游、刷抖音沉湎于表层的、平面的流行文化。共勉!!!!

 

阅读剩余
THE END