吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 18591|回复: 38
收起左侧

[Python 转载] 快手自动浏览视频脚本

  [复制链接]
sukanka 发表于 2020-2-14 22:56
本帖最后由 sukanka 于 2020-2-17 18:47 编辑

春节期间闲在家里无事,老妈又要刷快手极速版挣金币,整天在那刷.看不下去了,就写了个脚本自动刷.脚本使用 python 调用 adb 命令,目前只实现了只在快手的视频界面自动滑屏, 其他界面不做任何事.不过可以自行添加需要滑动的界面.
更新: 又增加了刷宝短视频, 老妈的手机是 OnePlus5T, 最前面会多一个
'  * ContentProviderRecord{362943b u0 com.snda.wifilocating/com.baidu.pyramid.runtime.multiprocess.components.ServerProvider}\n'
因此直接取位置不可取. 刷宝还是只需要下滑就可以了,因此没有做特殊动作. 下面是新的源码.

再次更新,又增加了快音,另外修改了前台程序判断的逻辑,还修改了程序执行的条件,现在不会因为设备突然断开而导致程序停止运行.

#! /usr/bin/python
# 自动滑动脚本. 可用于快手刷金币
# author: sukanka
# updated: 2020-02-17 18:42
import os
import random
import time
ACTIVITIES=['com.kuaishou.nebula/com.yxcorp.gifshow.HomeActivity',"com.jm.video/.ui.main.MainActivity", "com.kuaiyin.player/.MainActivity"]
# 快手, 刷宝, 快音

def findFrontActivity(device):
    activityList=os.popen("adb -s {} shell dumpsys activity | grep -i run".format(device)).readlines() # 获取所有正在运行任务
    activity=""
    for string in activityList:
        if "Run #" in string: # 找到最前台的活动
            activity=string
            break
    activity=activity.strip().split(" ") # 删除首尾空格后按中间的空格分割
# ['Run', '#0:', 'ActivityRecord{ab835a9', 'u0', 'com.kuaishou.nebula/com.yxcorp.gifshow.HomeActivity', 't8874}']
    if activity !="":
        try:
            activity=activity[4]
            return activity
        except IndexError:
            print(activity)
            return ""
# com.kuaishou.nebula/com.yxcorp.gifshow.HomeActivity

def autoSwipe(ACTIVITIES):
    connected=os.popen("adb devices").readlines()
    devices=[connected[i][0:-8] for i in range(1,len(connected)-1)] # 获取所有设备代号
    x=random.randint(200,800)
    y=random.randint(350,550)
    dx=random.randint(0,50)
    dy=random.randint(900,1200)
    tap_time=random.randint(300,600) # 随机选择滑动参数
    for device in devices:
        if findFrontActivity(device) in ACTIVITIES: # 如果前台运行特定应用就自动滑动
            slide="adb -s {} shell input swipe {} {} {} {} {}".format(device,x+dx,y+dy,x,y,tap_time)
            os.system(slide)
        else:
            continue    
    time.sleep(2+3*random.random()) # 滑动后随机等待2-5秒

if __name__=="__main__":
    while True:
        if os.system("adb devices")==0: # 如果有设备连接.
            autoSwipe(ACTIVITIES)

免费评分

参与人数 2吾爱币 +3 热心值 +2 收起 理由
苏紫方璇 + 3 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
秋水醉伊人 + 1 可以可以,直接就实用了,膜拜大佬

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| sukanka 发表于 2020-2-15 02:03
Zhuangzhuang 发表于 2020-2-15 00:25
经常看见快手挣钱的广告,不过没有试过。不知道楼主这个效率如何哈哈

效率和手动一样的,也就给老妈玩玩,不用一直手动,一天上限好像也就两块,我还等着啥时候她被封号呢
 楼主| sukanka 发表于 2021-3-14 23:32
a2611057 发表于 2021-3-14 18:32
楼主可以交流一下经验吗

都一年多了,我当时也是现学现写,慢慢调的,其实主要的就是 通过 adb shell 操作手机,学一些 adb 命令就差不多了。源码我已经放上来了,逻辑也比较简单,你可以看一下。(应该比较容易看懂,毕竟我水平也比较菜,没用什么难懂的代码)
青蛙考拉 发表于 2020-2-15 00:04
孝顺的好孩子,我发现父母都可喜欢刷快手了,我妈也是,停不下来,我一般就很少看短视频,总感觉那帮直播的没啥营养
寒心烟雨情 发表于 2020-2-15 00:17
之前想去学的一直没空,你这个是连接模拟器吗?
Zhuangzhuang 发表于 2020-2-15 00:25
经常看见快手挣钱的广告,不过没有试过。不知道楼主这个效率如何哈哈
 楼主| sukanka 发表于 2020-2-15 02:01
寒心烟雨情 发表于 2020-2-15 00:17
之前想去学的一直没空,你这个是连接模拟器吗?

这个是先用adb连接手机,不是模拟器。然后通过Python调用adb 命令操作手机。
 楼主| sukanka 发表于 2020-2-15 02:05
yimuxi123 发表于 2020-2-15 00:33
这什么语言写的,初学按键有些不懂

Python语言写的,用Python调用adb 命令操作手机。
a897236652 发表于 2020-2-15 03:07
一天几块钱,不值当撸??
 楼主| sukanka 发表于 2020-2-15 12:45
a897236652 发表于 2020-2-15 03:07
一天几块钱,不值当撸??

我是觉得不值得, 如果不拉人头,一天最多两块,要刷4小时
hero3 发表于 2020-2-15 17:05
真是有心人啊
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 18:53

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表