利用Python搶回在螞蟻森林逝去的能量(實現代碼)
1 螞蟻森林簡介
螞蟻森林是一項旨在帶動公眾低碳減排的公益項目,每個人的低碳行為在螞蟻森林裡可計為"綠色能量"。"綠色能量"積累到一定程度,就可以用手機申請在生態亟需修復的地區種下一棵真樹,或者在生物多樣性亟需保護的地區“認領”保護權益。
螞蟻森林在各地的生態修復項目,是由螞蟻集團向公益機構捐贈資金,由公益機構組織種植養護等具體工作,並由當地林業部門進行業務監管,所有項目都有對應的捐贈協議、驗收報告。 [23]
2019年9月19日,中國“螞蟻森林”項目獲 聯合國 “ 地球衛士獎 ”
據生態環境部2021年“全國低碳日”主場活動公佈的數據:螞蟻森林從2016年上線5年來,已累計帶動超過6.13億人參與低碳生活,產生“綠色能量”2000多萬噸。
為瞭激勵社會公眾的低碳生活,5年來螞蟻森林參與到全國11個省份的生態修復工作,累計種下3.26億棵樹,其中在甘肅、內蒙古均超過1億棵。 同時,螞蟻森林還在全國10個省份設立瞭18個公益保護地,守護野生動植物1500多種。通過在各地的生態環保項目,螞蟻森林累計創造瞭種植、養護、巡護等238萬人次的綠色就業機會,為當地群眾帶來勞動增收3.5億元。
螞蟻集團公開聲明:每年投入螞蟻森林數億的費用屬於純公益捐贈。螞蟻森林種下的樹一經捐出,就屬於國傢、屬於社會,未來如果這些樹木產生碳匯,將全部用於公益。螞蟻森林從未參與過碳交易。 如果螞蟻森林裡記錄的個人碳減排量未來能交易,產生的所有收益將屬於用戶個人,不屬於螞蟻森林。
2 逝川長嘆
在以前,容易忽略支護寶的我來說,很多能量被好友搶來,然後一直想找一個機會把失去的能量大范圍的搶回來,苦於代碼能力有限,一直沒落實,最近很想弄,不在逝川長嘆,也讓別人羨慕我。
3 結果展示
過幾分鐘再偷,賺大瞭,哈哈哈!
4 Python——uiautomator2庫安裝
UiAutomator是Google提供的用來做安卓自動化測試的一個Java庫,可以獲取屏幕上任意一個APP的任意一個控件屬性,並對其進行任意操作。Uiautomator2是在Uiautomator之上的python的接口封裝,簡單來說 Uiautomator2可以看到手機當前屏幕上有哪些控件,其坐標是啥,並且還可以模擬點擊。
下面我們講講安裝uiautomator2庫的方法(我常用的)。
5 Python代碼實現
#=======導入相關庫========== import numpy as np import matplotlib.pyplot as plt import matplotlib as mpl mpl.rcParams['font.sans-serif'] = ['SimHei'] # 指定默認字體 mpl.rcParams['axes.unicode_minus'] = False # 解決保存圖像是負號'-'顯示為方塊的問題 import matplotlib; matplotlib.use('TkAgg') import uiautomator2 as u2 import time import random #=======# 有線連接,手機需要插電腦上,支付寶完全啟動====== d = u2.connect() # d.app_stop("com.eg.android.AlipayGphone") print("打開支付寶") d.app_start("com.eg.android.AlipayGphone") time.sleep(2) ## 休眠2s等待支付寶完全啟動 #==========進入螞蟻森林================= print("打開螞蟻森林,等待5s……") d(text="螞蟻森林").click() time.sleep(5) ## 我手機比較卡,進入螞蟻森林後還需要幾秒鐘才能完全加載完 #=========收集能量=============== def collectEnergy(cnt): print("開始第%d次偷能量!" % cnt) #===開始掃描點擊有能力出現的區域=== for x in range(150,1000,150): for y in range(600,900,150): d.long_click(x + random.randint(10,20), y + random.randint(10,20), 0.1) time.sleep(0.01) if cnt != 1: d.click(536,1816) cnt = 1 while True: collectEnergy(cnt) a = d.xpath("//*[@resource-id='J_tree_dialog_wrap']").get().bounds d.click(1000, a[3]-80) # 找能量按鈕的坐標 #===如果頁面出現瞭“返回我的森林”說明已經沒有能量可偷瞭,結束=== if d.xpath('//*[@text="返回我的森林"]').click_exists(timeout=2.0): break cnt += 1 print("###結束###") d.app_stop("com.eg.android.AlipayGphone") # 退出支付寶
到此這篇關於利用Python搶回在螞蟻森林逝去的能量的文章就介紹到這瞭,更多相關Python螞蟻森林能量內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- python連接手機自動搜集螞蟻森林能量的實現代碼
- python實現蒙特卡羅模擬法的實踐
- Python用 matplotlib 繪制柱狀圖
- Python實現釘釘/企業微信自動打卡的示例代碼
- python UIAutomator2使用超詳細教程