【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 jpype
import time
import 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吧!