【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吧!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章