打开搜狗搜索APP,查看更多精彩资讯
本文介绍如何利用Python+uiautomator2 每日自动赚取支付宝积分。
支付宝的积分有啥用?诱惑诱惑你:可以兑换视频网站的VIP会员。
可以兑换各种优惠券。
可以在年底活动中兑换苹果手机。
其他,一言难尽... 比如,我喜欢买知识课堂的课程。(知识付费时代,我用积分买知识)
好了,有了动机,我们就来开始动手吧。
赢取积分的思路: 在支付宝里,有个猜股市涨跌的功能。每日13:00前,用账户的积分下注,如果猜中了涨跌,就能按比例赢到对手的积分。有时押200,赢400.
从赌博的概率讲,只要猜对的概率高于50%,就是稳赚不赔的,值得玩一玩。根据下图可以找到支付宝猜涨跌功能。
怎么玩?
不懂股票,别慌。先说思路:股市开盘时间段每天上午9:30-11:30,下午13:00-15:00。所以,一般来说,每天中午吃饭的时候,你只需要打开股票软件,看一下11:30收盘的涨跌趋势,就可以大致猜出当天的趋势。 注意:你必须在下午13:00之前下注,过了13:00就是预测第二天的涨跌了。
如果当天11:30收盘涨跌不明显,你就赌很少积分,如果趋势明显,你就用200积分。就这么简单。
具体策略是:
1)根据当日涨跌方向,判断涨跌方向。如当日涨>=0%, 则赌涨, 反之赌跌。
2)根据当日涨跌幅度,选择赌积分的数量。
涨跌绝对值 >=0.4%, 200积分;
涨跌绝对值 在0.4~0.3之间,100积分;
涨跌绝对值 在0.3~0.2之间,50积分;
涨跌绝对值 <0.2, 20积分;
截止目前,手动应用策略的战况如何呢?支付宝统计胜率83%,相当的高。(19.2月份,支付宝活动还可以选择现金,不要积分)。如图:
但是遗憾的是,很多时候午饭吃High了,就忘记下注了。
怎么办?怎么办?
作为技(ai)术(zhe)控(teng)的人, 我决定写个Python程序,找个旧安卓机,让赚积分自动跑起来。当然这一切主要依靠Python强大的第三方库uiautomator2功能,所以前期准备环境少不了。安装Python环境(建议3.6或3.7以上版本) +Pycharm编辑器(最新的免费社区版即可). 具体方法,可以百度,此处跳过细节。
确保电脑中有adb命令文件夹,并加入到环境变量中。adb具体可以在安卓开发工具的platform-tools下找到
为Python 安装手机自动化UI工具 Uiautomator 2, 在dos下,使用pip 命令:
pip install --upgrade --pre uiautomator2
安装 Weditor (控件属性识别工具),完美搭配Uiautormator2.
pip install --pre -U weditor
找一台旧手机,打开开发者模式,并连接家里wifi,(不需要插入SIM卡),安装支付宝并登录账号至少一次。
保持手机USB 连接电脑,执行下面的命令,自动安装UIautomator2所需要的设备端程序:uiautomator-server 、atx-agent、openstf/minicap、openstf/minitouch
python -m uiautomator2 init
在dos命令下,为Python安装第三方库Tushare,以便轻松查询上证指数涨跌。Tushare是一个免费、开源的python财经数据接口包,功能十分强大。这里我们只用一点点指数查询功能。
pip install tushare
在dos命令下,启动Weditor,定位支付宝猜涨跌各个UI的元素:
python3 -m weditor
以上8个步骤都做了,理论上,我们就可以开始写程序了。如果对于获取控件元素,不了解,请本文的底部参考链接。
开始写Python 程序:
以上代码(除了import段落) 封装起来取函数名 guess_up_down。
胜利在望,再加一个函数负责每日15:31 检查 当日输赢情况,并选择要积分还是要现金。函数名 index_final_check().
部分代码如下:
下图,当天自动下注20积分,赢取40积分,换成了现金奖励0.2(兑换权益)。
好了,程序看似功能实现了,但是还不行。我们总不能每天都手动运行程序吧? 那跟中午手动点一下区别不大呢。
所以,我们来定义一个主函数,利用schedule 方法按时调用我们的任务。
本次在主函数调用了一个today_is_holiday函数(具体代码略过,代码的实现方式为:周一到周五而且非法定节假日则为交易日,否则视为holiday),该函数检查当前是否为交易日,如果是,则休息24小时,下一日继续检查。否则(是交易日)则定时调用 guess_up_down 和 index_final_check函数,完成任务。
好了自动运行效果如视频(本文写在周末,所以没有真的下注,只看看效果):
程序运行起来,可以全年无休,自动在每个交易日下注,自动选择拿积分还是拿现金。
需要注意的是,下午检查积分到账的时间,不能早于15:15,因为支付宝最早于15:15公布结果。
如果想让程序更酷一点,可以微信发送结果给自己(参见:简单实用的微信消息推送神器:server酱),也可以写日志文件,记录每日盈亏情况。
Enjoy~~啦啦啦~~~
提醒:
1)由于支付宝的下注UI的控件元素无法被获取,所以采用了坐标值方法来点击绝对位置。如果换做其他手机型号,就必须自己重新获取位置,并修改对应代码。建议破旧二手安卓机(>=4.4 OS),来做这件事就好了。
2)uiautomator2 系统要求:Python 要求 Android >= 4.4 Python >=2.7 || <= 3.7
3)我们测试机可以根据场景自动再次登录支付宝,以防止你用其他手机做过登录。要实现这点,需要你在代码 set_text("写支付宝密码") 处,替换为你支付宝密码。
最后就是小编这里整理的一些Python学习资料,有需要的朋友可以关注并私信“01”领取