Python自动化完成tb喵币任务的操作方法


Posted in Python onOctober 30, 2019

2019双十一,tb推出了新的活动,商店喵币,看了一下每天都有几个任务来领取喵币,从而升级店铺赚钱,然而我既想赚红包又不想干苦力,遂使用python来进行手机自动化操作,目测全网首发!

用到的库:

re
os
time

思路:

  1. 下载adb命令安装包
  2. 打开手机开发者选项(点击系统设置,连点5次系统版本,即可在辅助功能或其他选项中找到开发者选项,此功能无害,可不必关闭)
  3. 在开发者选项中找到USB调试打开(反是有USB字样选项的全部同意,有提示风险也同意,PS:自己操作鸡毛风险没有,在一些商厦的有免费充电桩,若此充电桩提示请求USB调试请拒绝,此行为是风险操作,有可能获取隐私!)
  4. 手机连接电脑
  5. 5. 将仅限USB充电调至MIDI模式(部分手机有,任务栏下拉) (部分手机在仅充电模式下无法连接)
  6. 调至tb喵币做任务界面
  7. 将.py文件移动至adb文件夹目录下
  8. 在开发者界面下打开指针位置
  9. 填入X,Y坐标
  10. 运行脚本
import os,re
import time
print('-----ctrl+c终止程序-----------')
task=int(input('请输入任务个数:'))
chose=int(input('请选择自定位[1]或手动输入[2]:'))
print('author:刘秉哲')
list=[]
list1=[]
def go(x,y): 
 for i in range(task+1):
 os.system('adb shell input tap {} {}'.format(x,y))#触摸店铺按钮
 print('---开始任务---')
 time.sleep(4)
 os.system('adb shell input tap {} {}'.format(1,1))#模拟滑动界面
 print('---等待25秒---')
 time.sleep(25)
 print('---领取完成---')
 time.sleep(4)
 os.system('adb shell input keyevent 4')
 time.sleep(4)
 #os.system('adb shell input tap 518 2202')
 print('第{}任务领取完成'.format(i+1))
 print('______________________')
def go_2():
 try:
 print('获取坐标中')
 file = os.listdir('.') 
 if os.path.exists('123.txt'):
 #if (i.endswith('.txt')):#判断当前文件是否有123.txt
 c=open('123.txt',encoding='UTF-8')
 a=c.read()
 #正则寻找去进店的按钮位置
 d=re.search('<node index="2" text="去进店"(.*?)/>',a).groups()
 f=re.search(' bounds="(.*?)"',str(d)).groups()
 g=re.search('\[(.*?)\]',f[0]).group(1)
 list.append(g.split(','))#将坐标添加到列表
 else:
 try:#这里两次获取xml,以防获取的第一个为安卓非IDE情况下的xml
 os.system('adb shell uiautomator dump /sdcard/ui.xml')
 time.sleep(2)
 os.system('adb shell uiautomator dump /sdcard/ui.xml')
 os.system('adb pull /sdcard/ui.xml 123.txt')
 size=get_FileSize('123.txt')#123.txt是淘宝喵币任务页面的布局
 if size>=0.03:#第一次获取ui会出现文件非淘宝苗币的xml 
 file = os.listdir('.') 
 c=open('123.txt',encoding='UTF-8')
 a=c.read()
 d=re.search('<node index="2" text="去进店"(.*?)/>',a).groups()
 f=re.search(' bounds="(.*?)"',str(d)).groups()
 g=re.search('\[(.*?)\]',f[0]).group(1)
 list.append(g.split(','))
 print('获取成功') 
 else:
 print('xml文件错误正在重新下载,请勿翻动手机界面')
 os.remove('123.txt')
 go_2()
 except:
 print('错误')
 go_2() 
 except:
 print('error,正在重新获取') 
def get_FileSize(filePath): 
 fsize = os.path.getsize(filePath)
 fsize = fsize/float(1024 * 1024) 
 return round(fsize, 2)
if chose==1:
try:
 go_2()
 print("当前坐标:{},{}".format(list[0][0],list[0][1]))
 go(int(list[0][0])+20,int(list[0][1])+20)
except:
 print('error')
if chose==2:
 x=int(input('请输入任务X坐标:'))
 y=int(input('请输入任务y坐标:'))
 go(x,y)

PS:代码部分命名仓促,见谅。

1 脚本1功能自动获取下X,Y坐标,大概率成功,小概率需要自行通过2功能修改。

2 脚本还有不足之处,欢迎指出。

3 123.txt是当前淘宝喵币页面的安卓布局,里面有当前的布局及其按钮位置 。

4 当你想为另一台手机在同一台电脑上运行的时候,请手动删除123.txt,手机型 号不同,布局不同。

问题与难点:

1 实现tb按钮的自定位

2 小几率出现返回任务界面 20个任务会消失(网速和手机性能影响)

3 部分手机会出现坐标定位后,手机无反应,请根据提示的当前坐标,选择2功能,然后将坐标数增减10进行调试

4 error: device not found :手机没有正确连接至电脑(检查adb)

5 检查当前文件夹下的123.TXT 的大小是否在30KB以上,在10KB一下说明获取失败,删除123.txt,重新打开软件获取(未知bug)

6 ERROR: null root node returned by UiTestAutomationBridge. 安卓P以上的bug 请多次开关程序

7 脚本不可与adb文件夹(platform-tools)分离,否则无法运行!

8 出现闪退请多次开关程序

Python自动化完成tb喵币任务的操作方法

Python自动化完成tb喵币任务的操作方法

2功能可以用于20个任务下面的其他浏览任务,坐标可在123.txt中找到也可在开发者指针位置定位,这里不在赘述。

这里也有封装成exe的,可直接使用,欢迎体验:

adb组件单独下载:

总结

以上所述是小编给大家介绍的Python自动化完成tb喵币任务操作方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python使用xauth方式登录饭否网然后发消息
Apr 11 Python
Python获取当前函数名称方法实例分享
Jan 18 Python
scrapy爬虫完整实例
Jan 25 Python
python实现requests发送/上传多个文件的示例
Jun 04 Python
python 提取key 为中文的json 串方法
Dec 31 Python
解决django后台样式丢失,css资源加载失败的问题
Jun 11 Python
Python+Selenium+phantomjs实现网页模拟登录和截图功能(windows环境)
Dec 11 Python
解决torch.autograd.backward中的参数问题
Jan 07 Python
python爬虫开发之urllib模块详细使用方法与实例全解
Mar 09 Python
自定义实现 PyQt5 下拉复选框 ComboCheckBox的完整代码
Mar 30 Python
python批量处理多DNS多域名的nslookup解析实现
Jun 28 Python
如何使用python记录室友的抖音在线时间
Jun 29 Python
Flask框架 CSRF 保护实现方法详解
Oct 30 #Python
使用Python和OpenCV检测图像中的物体并将物体裁剪下来
Oct 30 #Python
python基于K-means聚类算法的图像分割
Oct 30 #Python
Python列表原理与用法详解【创建、元素增加、删除、访问、计数、切片、遍历等】
Oct 30 #Python
Python文件路径名的操作方法
Oct 30 #Python
Python元组 tuple的概念与基本操作详解【定义、创建、访问、计数、推导式等】
Oct 30 #Python
解决python 上传图片限制格式问题
Oct 30 #Python
You might like
用Json实现PHP与JavaScript间数据交换的方法详解
2013/06/20 PHP
解析PHP中DIRECTORY_SEPARATOR,PATH_SEPARATOR两个常量的作用
2013/06/21 PHP
php下载文件源代码(强制任意文件格式下载)
2014/05/09 PHP
PHP导出带样式的Excel示例代码
2016/08/28 PHP
PHP实现原生态图片上传封装类方法
2016/11/08 PHP
PHP检查文件是否存在,不存在自动创建及读取文件内容操作示例
2020/01/23 PHP
通过 Dom 方法提高 innerHTML 性能
2008/03/26 Javascript
js客户端快捷键管理类的较完整实现和应用
2010/06/08 Javascript
js/jquery获取文本框输入焦点的方法
2014/03/04 Javascript
javascript实现英文首字母大写
2015/04/23 Javascript
JS实现的表格行鼠标点击高亮效果代码
2015/11/27 Javascript
jquery移除了live()、die(),新版事件绑定on()、off()的方法
2016/10/26 Javascript
Bootstrap基本插件学习笔记之折叠(22)
2016/12/08 Javascript
基于Taro的微信小程序模板消息-获取formId功能模块封装实践
2019/07/15 Javascript
javascript实现简易计算器功能
2020/09/23 Javascript
JavaScript 防盗链的原理以及破解方法
2020/12/29 Javascript
python 解析XML python模块xml.dom解析xml实例代码
2014/02/07 Python
Python实现的数据结构与算法之基本搜索详解
2015/04/22 Python
安装dbus-python的简要教程
2015/05/05 Python
Python导入模块包原理及相关注意事项
2020/03/25 Python
沃达丰英国有限公司:Vodafone英国
2019/04/16 全球购物
金属材料工程个人求职的自我评价
2013/12/04 职场文书
师范学院毕业生求职信范文
2013/12/26 职场文书
实习鉴定评语
2014/01/19 职场文书
加入学生会演讲稿
2014/04/24 职场文书
班风学风建设方案
2014/05/06 职场文书
2014年团支部工作总结
2014/11/17 职场文书
2015年度优秀员工自荐书
2015/03/06 职场文书
党小组推荐意见
2015/06/02 职场文书
Python进阶学习之带你探寻Python类的鼻祖-元类
2021/05/08 Python
Python超简单容易上手的画图工具库推荐
2021/05/10 Python
Python源码解析之List
2021/05/21 Python
Python-OpenCV教程之图像的位运算详解
2021/06/21 Python
OpenCV实现反阈值二值化
2021/11/17 Java/Android
nginx从安装到配置详细说明(安装,安全配置,防盗链,动静分离,配置 HTTPS,性能优化)
2022/02/12 Servers
Python  序列化反序列化和异常处理的问题小结
2022/12/24 Python