python自動化處理,獲得免費wps會員,雲函式

write_many_bug發表於2021-02-18

2021.2.18

2021.2.20更新:

現在邀請過快會被過濾,一秒鐘邀請10個人只算一個,要手動新增time.sleep(10)每次邀請延時十秒,即可繼續使用。

2021.2.21更新:

更新雲函式使用方法,要配置超時為150秒。

2021.2.24更新

server醬的微信推送通道即將關閉,於是改換為turbo版本的安卓app推送。
更新見文章,github同步更新。 github.

參考了XiaoSong_Aha文章,在此感謝。


先上githuh: 程式碼.
目前打卡介面還是處於失效狀態,但邀請還是可以的,可以獲取11天以上會員。
有的人已經獲得 30年的了。
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

介紹

  • 使用Server醬來進行微信提醒,python自動處理,類似爬蟲吧,可以部署在Linux伺服器或者雲函式上。
    實現效果就是,每天固定時間開始執行,自動邀請10個好友,然後手動每天打卡就好了,每天起步11+。

開始

要三個引數,【sid】、【userid】、Server醬的【key】

sid

WPS官方的簽到網站:https://zt.wps.cn/2018/clock_in/,連結: 點這個可以跳轉.
介面如下
在這裡插入圖片描述
然後右鍵,點選檢查,調出控制檯。
在這裡插入圖片描述
右上角登入然後微信掃碼登入,登入完成後按次序點選。sid就可獲得。

在這裡插入圖片描述

userid

微信小程式:我的wps會員,點選個人中心,就可以看到一個ID那個就是userid在這裡插入圖片描述

server醬的key

server醬,用server醬繫結APP,用來推送邀請成功訊息,網站如下:https://sct.ftqq.com/forward連結: 點選跳轉.按照網站提醒來就好了,非常簡單,選擇安卓推送。
在這裡插入圖片描述
key要記下來。
在這裡插入圖片描述
下載APP用key登入,key還要新增到程式碼當中。
server醬推送長這樣。
在這裡插入圖片描述
在這裡插入圖片描述

我是設定每天八點執行,它每天就八點發我邀請訊息。

引數獲取完畢,上程式碼

# coding=utf-8
import requests
import pytz
import datetime
from io import StringIO
import time

# 初始化資訊
SCKEY = 'xxxxxxxxxxxxxxxxxxxxxxxx'  # '*********複製SERVER醬的SCKEY進來*************(保留引號)'
data = {
    "wps_invite": [
        {
            "name": "水哥他爸",
            "invite_userid": 11699139251,  # "*********複製手機WPS個人資訊中的使用者ID進來,類似括號內容(191641526)*************(不保留雙引號)",
            "sid": "xxxxxxxxxx"  # network獲取wps_sid
        }
    ]
}
# 初始化日誌
sio = StringIO('WPS簽到日誌\n\n')
sio.seek(0, 2)  # 將讀寫位置移動到結尾
s = requests.session()
tz = pytz.timezone('Asia/Shanghai')
nowtime = datetime.datetime.now(tz).strftime("%Y-%m-%d %H:%M:%S")
sio.write("-" + nowtime + "-\n\n")


# APP
def pushWechat(desp, nowtime):
    ssckey = SCKEY
    send_url = 'https://sctapi.ftqq.com/' + ssckey + '.send'
    if '失敗' in desp:
        params = {
            'title': 'WPS小程式邀請失敗提醒' + nowtime,
            'desp': desp
        }
    else:
        params = {
            'title': 'WPS小程式邀請成功' + nowtime,
            'desp': desp
        }
    requests.post(send_url, params=params)


# 主函式
def main():
    wps_inv = data['wps_invite']
    # 這13個賬號被邀請
    invite_sid = [
        "V02StVuaNcoKrZ3BuvJQ1FcFS_xnG2k00af250d4002664c02f",
        "V02SWIvKWYijG6Rggo4m0xvDKj1m7ew00a8e26d3002508b828",
        "V02Sr3nJ9IicoHWfeyQLiXgvrRpje6E00a240b890023270f97",
        "V02SBsNOf4sJZNFo4jOHdgHg7-2Tn1s00a338776000b669579",
        "V02ScVbtm2pQD49ArcgGLv360iqQFLs014c8062e000b6c37b6",
        "V02S2oI49T-Jp0_zJKZ5U38dIUSIl8Q00aa679530026780e96",
        "V02ShotJqqiWyubCX0VWTlcbgcHqtSQ00a45564e002678124c",
        "V02SFiqdXRGnH5oAV2FmDDulZyGDL3M00a61660c0026781be1",
        "V02S7tldy5ltYcikCzJ8PJQDSy_ElEs00a327c3c0026782526",
        "V02SPoOluAnWda0dTBYTXpdetS97tyI00a16135e002684bb5c",
        "V02Sb8gxW2inr6IDYrdHK_ywJnayd6s00ab7472b0026849b17",
        "V02SwV15KQ_8n6brU98_2kLnnFUDUOw00adf3fda0026934a7f",
        "V02SC1mOHS0RiUBxeoA8NTliH2h2NGc00a803c35002693584d"

    ]
    for item in wps_inv:
        sio.write("為{}邀請---↓\n\n".format(item['name']))
        if type(item['invite_userid']) == int:
            wps_invite(invite_sid, item['invite_userid'])
        else:
            sio.write("邀請失敗:使用者ID錯誤,請重新複製手機WPS個人資訊中的使用者ID並修改'invite_userid'項,注意不保留雙引號\n\n")
    desp = sio.getvalue()
    pushWechat(desp, nowtime)
    print(desp)
    return desp


# wps接受邀請
def wps_invite(sid: list, invite_userid: int) -> None:
    invite_url = 'http://zt.wps.cn/2018/clock_in/api/invite'
    for index, i in enumerate(sid):
        headers = {
            'sid': i
        }
        time.sleep(10)
        r = s.post(invite_url, headers=headers, data={
            'invite_userid': invite_userid})

def main_handler(event, context):
    return main()


if __name__ == '__main__':
    main()

把引數加進去就好了。

自動執行設定

我用的樹莓派,其實是個Linux系統都行,用的crontab定時觸發
登入Linux系統,輸入

crontab -e

然後輸入像我這樣的白色的內容就行。
在這裡插入圖片描述
我的是

//這樣沒有輸出顯示
0 8 * * *   python /home/ubuntu/my_code/wps_py/wps_invite.py
//這樣把輸出寫入到debug檔案
0 8 * * *   python /home/ubuntu/my_code/wps_py/wps_invite.py > /home/ubuntu/my_code/wps_py/debug.txt

這樣配置就是每天八點執行,然後儲存退出就行。
這樣就完成了。
當然如果沒Linux環境你也可以使用騰訊的雲函式。

雲函式

https://console.cloud.tencent.com/scf
網址,首先就是註冊,要實名制的,還要驗證身份,我本來不想去註冊的,好多夥伴說部署失敗,所以我去試試看。
註冊完了要給許可權,然後就開始部署。
在這裡插入圖片描述
在這裡插入圖片描述
然後程式碼引數改一下,程式碼放進去
在這裡插入圖片描述
超時時間改為150
在這裡插入圖片描述
點下測試,成功了。
然後配置下觸發週期就行。

雲函式方式:
登入騰訊雲函式,建立python環境,然後輸入程式碼,最主要的是建立觸發器,其實也是cron觸發器,表示式為 0 8 * * * ,選擇定時觸發,自定義觸發週期。這樣也就完成了。

每天記得去微信打卡就好,第一天的打卡第二天到賬。

相關文章