今天你打卡了没?
脚本仅供学习交流,请勿用于其他用途。
另外代码细节写得不是很到位,意思到了就好。(跑
用于打卡的密码为服务平台的密码。
使用前务必要确认自己可以用浏览器在服务平台右上角本地登录成功。
不要统一登录!不要统一登录!不要统一登录!
本地登录!本地登录!本地登录!
不知道密码就找回密码!不知道密码就找回密码!不知道密码就找回密码!
python3
pip install selenium
pip install tkinter
安装火狐浏览器或者谷歌浏览器并且下载geckodriver放入浏览器目录下
pip install tkinter
pip install re
pip install requests
pip install requests_toolbelt
打开browser.py并修改如下内容,即打卡内容。
username = '2018213xxxx' # 学号
password = '你的密码' # 密码
p = 'xx省' # 省份
location = 'xx市xx区/县' # 地区
打开requests.py并修改如下内容,即打卡内容。
user = '2018xxxxx' # 你的学号
password = 'password' # 你的密码
location = 'xx省xx市xx县' # 详细位置
travel = 'xx省xx市'
# [可选]
# 健康码、形成卡
# health_code = open('xxxx', 'rb')
# travel_code = open('xxxx', 'rb')
初始化完成之后直接打开就可以愉快使用啦。
在windows下写一个批处理文件,将改批处理文件设置开机自启动即可每天打开电脑自动打卡。
- 一台有
python3
环境的VPS或者树莓派(或者其他一直开机运行的Linux主机) - 依赖关系:
re
、requests
和requests_toolbelt
- 了解
crontab
和vi/vim
的基本使用方法
修改requests-push.py里的如下信息
user = '2018xxxxx' # 你的学号
password = 'password' # 你的密码
location = 'xx省xx市xx县' # 详细位置
travel = 'xx省xx市'
# [可选]
# 健康码、形成卡
# health_code = open('xxxx', 'rb')
# travel_code = open('xxxx', 'rb')
# 利用Server酱(http://sc.ftqq.com/3.version)将打卡结果推送到微信
# [YOUR_SCKEY]需要替换为你自己的SCKEY
push_url = 'http://sc.ftqq.com/[YOUR_SCKEY].send'
其中最后一项信息需要到Server酱官网,先用GitHub账号登录,再绑定微信,最后在这里获取你的SCKEY
把修改好的requests-push.py放到你的VPS或者树莓派里。然后用crontab
设置定时任务。比如我设置为每天中午十二点自动执行:
0 12 * * * python3 PATH_TO_YOUR_requests-push.py >/dev/null 2>&1
需要注意的是,如果你的Linux系统的时区不是东8区的话,crontab
执行脚本的时间会与你设想的时间不一样。
加入了多人打卡的功能,可以给自己的舍友一起打卡(逃)。
Docker文件夹内存放了修改后执行程序以及Dockerfile,可以自行build,也可以使用我build好的docker image:
hanriri/scnu_clock
没什么参数,注意映射container内的/mnt
目录到host上能找到的目录。
进入host上你刚才设置的目录,也就是容器内的/mnt
目录,新建一个stu_id.txt
文本文件,写入:
<学号> <密码> <地址>
<学号> <密码> <地址>
<学号> <密码> <地址>
一行表示一个学生,注意·学号 密码 地址·之间需要有空格隔开!
这一步可以是命令行操作,当然NAS上可以把这个目录通过smb等方式share出去,使用GUI进行编辑。
程序在UTC时间,每天23点0分到23点50分,执行共六次打卡程序。(北京时间是UTC协调时间+8,即早上7点)
注意:请每周手动在系统上传一次自己的健康码和行程码