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 * * * ,选择定时触发,自定义触发周期。这样也就完成了。
每天记得去微信打卡就好,第一天的打卡第二天到账。