python实现定时登录校园网(解决突然断网)
背景
学校马上又要放寒假了,想起去年因为疫情导致无法返校,只能通过一些远程工具连接实验室的电脑进行操作。然而校园网经常抽风,动不动就断网一下恢复或者几个小时不用就掉线了。防止掉线的方法可以采用QQ一直处于登录状态解决,然而断网的问题实在太恶心了。为了解决这个问题,想起来可以使用python定时登录来解决,当然,这个方法只能解决短时间断网然后又恢复的问题,解决不了实验室彻底断网的问题。
思路
方法总共就两步:
- 实现账号密码登录功能
- 定时执行登录任务
账号密码登录
参考linux系统的curl命令,将其转化为python代码,可以参照
具体代码如下
import requests
#设置登录网址
url = '登录网址'
#设置账号密码
data = [
('DDDDD', '帐号'),
('upass', '密码'),
('0MKKey', ''),
]
requests.post(url, data=data)
定时任务
python的定时任务有很多种实现形式,我才用的是schedule库,该库的定时任务清晰易懂。
在使用前要首先通过 pip install schedule安装该库。
schedule.clear()
#设置定时任务
schedule.every(10).minutes.do(job) # 每隔 10 分钟运行一次 job 函数
schedule.every().hour.do(job) # 每隔 1 小时运行一次 job 函数
schedule.every().day.at("10:30").do(job) # 每天在 10:30 时间点运行 job 函数
schedule.every().monday.do(job) # 每周一 运行一次 job 函数
schedule.every().wednesday.at("13:15").do(job) # 每周三 13:15 时间点运行 job 函数
schedule.every().minute.at(":17").do(job) # 每分钟的 17 秒时间点运行 job 函数
#运行该任务
while True:
schedule.run_pending() # 运行所有可以运行的任务
time.sleep(1)
最后
把这二者联合起来就可以实现定时登录了。
另,我是合工大的,因此我写了个完整的合工大校园网定时登录的样例在github:
以上
编辑于 2021-01-13 15:42