老司機用python指令碼刷微信讀書的時長
阿新 • • 發佈:2018-12-12
- 微信讀書有一個鼓勵機制, 一週閱讀5小時可兌換10書幣,每週日晚清空一週的總讀書時長,沒兌換的時長不計入下一週(1書幣 == 1塊錢)
- 作為一個經常加班的程式猿, 一週刷5個小時, 有點困難, 所以只好請一些自動化測試工具來幫忙(刷時長真是一個古老而有效的技能), 花了一天的時間,終於完成了~
當然入門Python沒有好的學習資料怎麼行呢?所以小編這裡準備了一份Python學習資料,新增小編學習交流群943752371即可
最終效果
第一步: 安裝網易mumu, 通過應用中心安裝微信讀書
- 網頁mumu下載地址:
- 在網易mumu模擬器內安裝微信讀書
第二步:下載安裝python環境
下載地址: https://www.python.org/downloads/
- 通過python自帶的pip安裝依賴包
uiautomator
pip install uiautomator
第三步: 獲取adb, 將adb連線到mumu所在的127.0.0.1:7555
adb相當於mumu的驅動, 我找到了一個無需安裝的版本, 解壓即用,adb壓縮包裡的檔案如下圖(文末提供了下載的連結)
- 測試: 啟動mumu, 右鍵cmd.exe, 以管理員身份啟動, 在終端內輸入
adb connect 127.0.0.1:7555
, adb即可成功連線到mumu(注意: 這裡一定要先啟動mumu, 再輸入adb connect 127.0.0.1:7555
,否則adb無法連線成功)
第四步: 啟動指令碼, 刷時長
- 為了方便, 我把指令碼
wx_read_auto.py
放到了adb的目錄下
- 開啟mumu內的微信讀書的某一頁, 啟動指令碼
原始碼: 刷時長指令碼wx_read_auto.py
from uiautomator import device as d
import time
import datetime
import random
#點亮螢幕
def lightScreen():
d.screen.on()
# 自動翻頁,翻頁後休息5-10秒鐘
def autoSwipe():
# 假裝看書45-55秒鐘(假裝是人類在看書。。。)
read_time = random.randint(45,50)
time.sleep(read_time)
print("閱讀花費:",read_time,"秒")
# 從(1000,500)到(30,500)
d.swipe(1000, 500, 30, 500) #這裡需要根據你的模擬器的具體座標測試
# 休息一段時間(休息的時間=60秒-看書的秒數)
time.sleep(60-read_time)
print("休息",60-read_time,"秒,放鬆下眼睛~")
# 執行5小時(300分鐘)
if __name__ == '__main__':
all_time = 300
user_input_time = input("請輸入需要閱讀的分鐘數(請輸入正整數):")
try:
user_input_time = int(user_input_time)
if (user_input_time > 0):
print("程式將會執行",user_input_time,"分鐘")
all_time = user_input_time
except:
print("您輸入的值不合法, 將使用預設引數300, 程式將會自動執行5小時")
pass
for i in range(all_time):
lightScreen()
print("自動點亮螢幕, 開始閱讀。。。")
autoSwipe()
print("==>已經閱讀", i+1 ,"分鐘", "還差", all_time-i-1,"分鐘完成閱讀")
作者:木子昭
連結:https://www.jianshu.com/p/fffaf97ccf11
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯絡作者獲得授權並註明出處。