├── README.md └── kuaishou.py /README.md: -------------------------------------------------------------------------------- 1 | # - 2 | 快手抖音等自动阅读脚本,实用于各种自动播放,阅读挂机,可群控 3 | 测试环境python2.7 4 | #adb connect 127.0.0.1:5555 雷电 5 | #adb connect 127.0.0.1:7555 MUMU模拟器: 6 | #python kuaishou.py #运行 7 | #Ctrl + C 手动停止 8 | #adb kill-server #异常adb devices无列表修复 9 | 10 | 11 | 一个能创造财富的脚本 12 | 凡是能薅一分钱的项目,都可以无限放大。 13 | -------------------------------------------------------------------------------- /kuaishou.py: -------------------------------------------------------------------------------- 1 | #coding=utf-8 2 | #adb connect 127.0.0.1:5555 雷电 3 | #adb connect 127.0.0.1:7555 MUMU模拟器: 4 | #python kuaishou.py #运行 5 | #Ctrl + C 手动停止 6 | #adb kill-server #异常adb devices无列表修复 7 | 8 | import time 9 | import os 10 | import sys 11 | import re 12 | import random 13 | type=sys.getfilesystemencoding() #强制UTF-8解码,防止WIN下提示输出乱码 14 | import threading 15 | 16 | #获得机器屏幕大小返回数组 17 | def getSize(series): 18 | screensize = [[0] * 2] * 1 19 | cmd = 'adb -s {client} shell wm size'.format(client = series) 20 | print(cmd) 21 | size_str = os.popen(cmd).read() 22 | if not size_str: 23 | print '请安装 ADB 及驱动并配置环境变量'.decode('utf-8').encode(type) 24 | sys.exit() 25 | m = re.search(r'(\d+)x(\d+)', size_str) 26 | if m: 27 | screensize[0][0] = m.group(2) 28 | screensize [0][1]= m.group(1) 29 | return screensize 30 | 31 | def rand(x0,x1): # 在x0 x1范围内生成随机两位小数 32 | a = random.uniform(x0,x1) 33 | return round(a,2) 34 | 35 | def randint(x0,x1): #在x0 x1范围内生成随机整数 36 | return random.randint(x0,x1) 37 | 38 | #屏幕向上滑动,随机防封 39 | def swipeUp(series,screensize,t): 40 | cmd = 'adb -s {client} shell input touchscreen swipe {x1} {y1} {x1} {y2}'.format( 41 | client = series, 42 | x1 = int(int(screensize[0][0]) * rand(0.4,0.5)), #x坐标 43 | y1 = int(int(screensize[0][1]) * rand(0.4,0.5)), #起始y坐标 44 | y2 = int(int(screensize[0][1]) * rand(0.7,0.8)) #终点y坐标 45 | ) 46 | print(cmd) 47 | os.system(cmd) 48 | 49 | def liulan(series):#无限循环看视频 50 | screensize = getSize(series) 51 | print "屏幕宽度".decode('utf-8').encode(type),screensize[0][0] 52 | print "屏幕高度".decode('utf-8').encode(type),screensize[0][1] 53 | print "进入循环操作...".decode('utf-8').encode(type) 54 | while True: 55 | t4 = randint(40,60) #随机看视频时间,防封 56 | print '等待'.decode('utf-8').encode(type),t4,'秒进入下一个视频'.decode('utf-8').encode(type) 57 | time.sleep(t4) 58 | swipeUp(series,screensize,1000) 59 | 60 | def piliang(series): 61 | liulan(series) 62 | timer = threading.Timer(3, piliang, [series]) 63 | timer.start() 64 | 65 | def run(): 66 | reload(sys) 67 | sys.setdefaultencoding('utf8') 68 | devices = os.popen('adb devices').read() 69 | devices_lists = devices.splitlines() 70 | devices_counts = devices_lists.__len__() 71 | for i in range(1, devices_counts - 1): 72 | device_info = devices.splitlines()[i] 73 | device_series = device_info.split( )[0] 74 | print '设备ID:'.decode('utf-8').encode(type),device_series 75 | piliang(device_series) 76 | 77 | run() 78 | --------------------------------------------------------------------------------