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删除特定文件的方法
Jul 30 Python
使用python调用zxing库生成二维码图片详解
Jan 10 Python
R vs. Python 数据分析中谁与争锋?
Oct 18 Python
python 寻找优化使成本函数最小的最优解的方法
Dec 28 Python
python监控进程脚本
Apr 12 Python
python3实现基于用户的协同过滤
May 31 Python
python实现简单http服务器功能
Sep 17 Python
Django ORM多对多查询方法(自定义第三张表&amp;ManyToManyField)
Aug 09 Python
Python计算两个矩形重合面积代码实例
Sep 16 Python
Jupyter Notebook打开任意文件夹操作
Apr 14 Python
python matplotlib.pyplot.plot()参数用法
Apr 14 Python
python 实现控制鼠标键盘
Nov 27 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
php 进度条实现代码
2009/03/10 PHP
基于PHP对XML的操作详解
2013/06/07 PHP
php将文本文件转换csv输出的方法
2014/12/31 PHP
PHP生成树的方法
2015/07/28 PHP
jQuery Selector选择器小结
2010/05/06 Javascript
Nodejs实现的一个简单udp广播服务器、客户端
2014/09/25 NodeJs
编写高性能Javascript代码的N条建议
2015/10/12 Javascript
D3.js封装文本实现自动换行和旋转平移等功能
2016/10/14 Javascript
微信小程序 合法域名校验出错详解及解决办法
2017/03/09 Javascript
搭建Vue从Vue-cli到router路由护卫的实现
2019/11/14 Javascript
js实现旋转木马轮播图效果
2020/01/10 Javascript
javascript设计模式 ? 访问者模式原理与用法实例分析
2020/04/26 Javascript
vue使用自定义事件的表单输入组件用法详解【日期组件与货币组件】
2020/06/01 Javascript
微信小程序多列表渲染数据开关互不影响的实现
2020/06/05 Javascript
Javascript call及apply应用场景及实例
2020/08/26 Javascript
vue使用svg文件补充-svg放大缩小操作(使用d3.js)
2020/09/22 Javascript
解决Element中el-date-picker组件不回填的情况
2020/11/07 Javascript
vue.js页面加载执行created,mounted的先后顺序说明
2020/11/07 Javascript
typescript编写微信小程序创建项目的方法
2021/01/29 Javascript
[00:27]DOTA2战队VP、Secret贺新春
2018/02/11 DOTA
[10:21]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster 选手采访
2021/03/11 DOTA
Python将xml和xsl转换为html的方法
2015/03/10 Python
利用一个简单的例子窥探CPython内核的运行机制
2015/03/30 Python
python登录豆瓣并发帖的方法
2015/07/08 Python
Python实现完整的事务操作示例
2017/06/20 Python
python嵌套字典比较值与取值的实现示例
2017/11/03 Python
Django项目开发中cookies和session的常用操作分析
2018/07/03 Python
详解Django的model查询操作与查询性能优化
2018/10/16 Python
基于python实现生成指定大小txt文档
2020/07/20 Python
皇马官方商城:Real Madrid Store
2016/09/02 全球购物
中国最大的潮流商品购物网站:YOHO!BUY有货
2017/01/07 全球购物
英国性感内衣和睡衣品牌:Bluebella
2018/01/26 全球购物
6PM官网:折扣鞋、服装及配饰
2018/08/03 全球购物
应届生求职信范文
2014/05/26 职场文书
全国法院系统开展党的群众路线教育实践活动综述(全文)
2014/10/25 职场文书
海上钢琴师的观后感
2015/06/11 职场文书