【Python成长之路】对不起,今天的所有红包我都要抢走了

哈喽大家好,我是鹏哥。

 

今天要记录的内容是 —— 用python完成微信抢红包

 

~~~上课铃~~~

 

好运来祖海 - 好运来

1

写在前面

哈哈,今天的歌曲是过年必备款(主要是我懒得找适应节奏的流行歌)。向来对春晚不感冒的我,对微信红包是相当感兴趣。之前其实就已经写过 如何基于sikuli IDE软件实现微信抢红包,但是当时遗留了个问题:如何最终通过python实现呢?

今天,算是给今年的遗留问题做个了结。同时在这么一个喜庆的日子,抢些红包买糖呀!

2

效果展示

3

知识串讲(敲黑板啦)

其实这篇博客的代码,没什么新知识点,都是炒冷饭。如果是刚关注我的伙伴,我给你们做个链接,方便你们学习掌握sikuli框架的自动化实现。

1、了解sikuli,及学会如何基于IDE平台实现抢红包。

用二十行代码实现微信自动抢红包

2、学会sikuli jar的python调用,并讲解对应类、方法的使用

【Python成长之路】基于sikuli jar包,实现淘宝自动抢单功能(1)

综上这两篇博客,基本已经讲过了本文示例代码。

4

示例代码# coding=utf-8

# @公众号 : "鹏哥贼优秀"# @Date : 2020/1/24# @Software : PyCharm # @Python version: Python 3.7.2
from jpype import *import jpypeimport timeimport win32api,win32con
# 为了缩小pycharm窗口,相当于同时按下win+向下方向键def Minimize_Window():    win32api.keybd_event(91, 0, 0, 0)    time.sleep(0.5)    win32api.keybd_event(40, 0, 0, 0)    time.sleep(0.5)    win32api.keybd_event(91, 0, win32con.KEYEVENTF_KEYUP, 0)    win32api.keybd_event(40, 0, win32con.KEYEVENTF_KEYUP, 0)
def get_lucky_money():    jvmPath = jpype.get_default_jvm_path()    # Djava.class.path是本地的sikuliapi.jar包路径,需要提前下载好    jpype.startJVM(jvmPath, '-ea', '-Djava.class.path=F:\\sikuli\\1\\sikulixapi.jar')    Screen = JClass('org.sikuli.script.Screen')    myscreen = Screen()    Minimize_Window()    Minimize_Window()    # 通过判断微信界面是否出现“[微信红包]”字眼进行判断    while True:        if myscreen.exists('1.png') or myscreen.exists('1-1.png'):            print('发现红包!')            try:                myscreen.doubleClick("1.png")            except:                myscreen.doubleClick('1-1.png')            if myscreen.exists("2.png"):                try:                    myscreen.doubleClick("2.png")                    time.sleep(0.5)                    myscreen.click('3.png')                    print("抢到红包!")                except:                    print("未抢到红包或者红包已抢过!")                time.sleep(0.3)                myscreen.click("4.png")            time.sleep(0.3)            if myscreen.exists('5.png'):                myscreen.click("5.png")        else:            print('等待中……')            time.sleep(5)
if __name__ == "__main__":    get_lucky_money()

    为了方便大家直接能用示例代码进行抢红包,我把示例代码中的图片也共享给大家。如果图片水印影响到识别的话,建议大家自己重新截图吧!(当然这一切都是雷电模拟器完成的)

1.jpg

1-1.jpg

2.jpg

3.jpg

 

4.jpg

 

5.jpg

5

总结

这次的总结,就给自己的2019做个总结,2020继续加油吧。记录自己的成长!

最后祝大家新的快乐!小心别被我抢了红包,因为我示例代码是死循环,哈哈!

 

~~~下课铃~~~

 

【往期热门文章】:

【Python成长之路】10行代码教你免费观看无广告版的《庆余年》腾讯视频

【Python成长之路】如何用python开发自己的iphone应用程序,并添加至siri指令

【Python成长之路】从 零做网站开发 -- 基于Flask和JQuery,实现表格管理平台

点击下方诗句,可以留言互动喔  

 

【关注“鹏哥贼优秀”公众号,回复“python学习材料”,将会有python基础学习、机器学习、数据挖掘、高级编程教程等100G视频资料,及100+份python相关电子书免费赠送!】

 

扫描二维码

    与鹏哥一起

学python吧!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值