2024年Python最新一篇文章教你使用Python自动赚取支付宝积分,网友:发家致富?

  1. pip install tushare

  2. 在dos命令下,启动Weditor,定位支付宝猜涨跌各个UI的元素:

  3. python3 -m weditor

以上8个步骤都做了,理论上,我们就可以开始写程序了。如果对于获取控件元素,不了解,请本文的底部参考链接。

开始写Python 程序:

#导入必备的Python库

import uiautomator2 as u2

import time

import tushare as ts

import schedule

from datetime import datetime

连接设备,下面连接用的序列号可由adb devices,手动查出来

d = u2.connect_usb(“FUH0216830003040”) # 华为 P9

唤醒设备d.screen_on() # turn on the screen

time.sleep(2)

unlock screen,不能设置复杂图形或者密码哦

d.unlock( u")

time.sleep(2)# return to home

d.press(“home”)

等待

time.sleep(2)

启动支付宝应用,并进入猜涨跌界面,支付宝package name, 百度可查

d.app_start(“com.eg.android.AlipayGphone”)

wait until the ui object appears,以下元素名,均由Weditor获得

if d(text=u"好的").wait(timeout=3.0): # return bool:

d(resourceId=“com.alipay.mobile.antui:id/ensure”).click()

if d(text=u"点击下方头像登录").wait(timeout=3.0): # return bool

d(resourceId=“com.ali.user.mobile.security.ui:id/userAccountImage”).click()

if d(text=u"刷脸登录").wait(timeout=3.0): # return bool

d(resourceId=“com.ali.user.mobile.security.ui:id/switchLoginMethodCenter”).click()

if d(text=u"密码登录").wait(timeout=3.0): # return bool

d(resourceId=“com.alipay.mobile.antui:id/item_name”, text=u"密码登录").click()

d(resourceId=“com.ali.user.mobile.security.ui:id/content”, className=“android.widget.EditText”,instance=1).set_text(“写支付宝密码”)

time.sleep(2)

d(resourceId=“com.ali.user.mobile.security.ui:id/loginButton”).click()

if d(text=u"更多").wait(timeout=3.0):

d(text=u"更多").click()

if d(text=u"股票").wait(timeout=3.0):

d(text=u"股票").click()

if d(text=u"涨跌").wait(timeout=3.0):

d(text=u"涨跌").click()

利用Tushare库,从dataframe数据中,拿上证指数000001的涨跌情况

df = ts.get_index()

for i in range(26):

if df.loc[i][‘‘000001’’] == index_code:

up_or_down = df.loc[i][‘change’]

根据上午涨跌幅,选择涨跌方向,并选择用多少积分下注(20, 50, 100, 200)

if up_or_down >= 0: # 根据支付宝规则,大盘不涨不跌,视为上涨

点击涨按钮

d.click(0.281, 0.784)

等待下个UI出现

time.sleep(3)

下面根据涨的幅度情况下赌注

if up_or_down > 0.4: # 如果当日涨幅超过4%,赌200积分;

my_print(“当日涨幅超过0.4%,赌200积分”)

d.click(0.741, 0.416)

elif 0.3 < up_or_down <= 0.4: # 如果当日涨幅在0.4 和0.5之间,赌100积分;

my_print(“当日涨幅在0.3 和0.4之间,赌100积分”)

d.click(0.58, 0.416)

elif 0.2 < up_or_down <= 0.3: # 如果当日涨幅在0.3 和0.4之间,赌50积分;

my_print(“当日涨幅在0.3 和0.2之间,赌50积分”)

d.click(0.415, 0.416)

elif up_or_down <= 0.2: # 如果当日涨幅在0.3以下, 赌20积分

my_print(“当日涨幅在0.2以下, 赌20积分”)

d.click(0.25, 0.416)

else: # up_or_down <= 0, 估计这个位置是跌

点击跌按钮

d.click(0.727, 0.784)

等待

time.sleep(3)

下面根据跌的幅度情况下赌注

if up_or_down < -0.4: # 如果当日跌幅超过5%,赌200积分;

点击200积分赌注

my_print(“当日跌幅超过0.4%,赌200积分”)

d.click(0.741, 0.416)

elif -0.4 <= up_or_down < -0.3: # 如果当日跌幅在0.4 和0.5之间,赌100积分;

my_print(“当日跌幅在0.4 和0.3之间,赌100积分”)

d.click(0.58, 0.416)

elif -0.3= < up_or_down < -0.2: # 如果当日跌幅在0.3 和0.4之间,赌50积分;

my_print(“当日跌幅在0.3 和0.2之间,赌50积分”)

d.click(0.415, 0.416)

elif up_or_down <= -0.2: # 如果当日跌幅在0.3以下, 赌20积分

my_print(“当日跌幅在0.2以下, 赌20积分”)

d.click(0.25, 0.416)

点击确定按钮,下注成功

time.sleep(3)

d.click(0.477, 0.759)

以上代码(除了import段落) 封装起来取函数名 guess_up_down。

胜利在望,再加一个函数负责每日15:31 检查 当日输赢情况,并选择要积分还是要现金。函数名 index_final_check().

部分代码如下:

my_print(“上午收盘上证涨跌幅%.2f%%” % morning_change)

my_print(“下午收盘上证涨跌幅%.2f%%” % final_change)

if morning_change >= 0 and final_change >= 0:

my_print(“赌涨成功!(根据支付宝规则,大盘不涨不跌,视为上涨)”)

elif morning_change < 0 and final_change < 0:

my_print(“赌涨成功:最终如期下跌”)

elif final_change < 0 <= morning_change:

my_print(“赌涨失败:押注上涨,最终下跌!”)

elif morning_change < 0 <= final_change:

my_print(“赌跌失败:押注下跌,最终上涨!”)

点亮屏幕,并重新登录程序。

connect_device_wake_unlock()

先退出程序,因为只有重新进入,才能看到获得积分还是现金。

d.app_stop(“com.eg.android.AlipayGphone”)

time.sleep(5)

重新进入程序

launch_app_enter_guess()

点击界面,选择领取积分还是现金。

当然是选择现金

d(description=u"兑换权益").click()

下图,当天自动下注20积分,赢取40积分,换成了现金奖励0.2(兑换权益)。

一篇文章教你使用Python自动赚取支付宝积分,网友:发家致富?

好了,程序看似功能实现了,但是还不行。我们总不能每天都手动运行程序吧? 那跟中午手动点一下区别不大呢。

所以,我们来定义一个主函数,利用schedule 方法按时调用我们的任务。

本次在主函数调用了一个today_is_holiday函数(具体代码略过,代码的实现方式为:周一到周五而且非法定节假日则为交易日,否则视为holiday),该函数检查当前是否为交易日,如果是,则休息24小时,下一日继续检查。否则(是交易日)则定时调用 guess_up_down 和 index_final_check函数,完成任务。

def main():

my_print(“***程序跑起来无眠无休,每个交易日为您赌积分***”)

schedule.every().day.at(“11:31”).do(guess_up_down)

schedule.every().day.at(“15:15”).do(index_final_check)

现在能在网上找到很多很多的学习资源,有免费的也有收费的,当我拿到1套比较全的学习资源之前,我并没着急去看第1节,我而是去审视这套资源是否值得学习,有时候也会去问一些学长的意见,如果可以之后,我会对这套学习资源做1个学习计划,我的学习计划主要包括规划图和学习进度表。

分享给大家这份我薅到的免费视频资料,质量还不错,大家可以跟着学习

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里无偿获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值