图书馆 签到 & 预约
GMAIL:lianghaioh@gmail.com
更新与纠正(2021/10/13)
程序已集成预约和签到功能。
预约:预约明天的座位
签到:完成今天的预约,需要程序一直保持在后台
通知:邮件提醒
Bug: 周四执行程序时会出现预约错误,原因是图书馆周五下午不开放,目前正在解决,等周四的时候在测试。
相关文件下载
图书馆系统界面
1.预约与管理

2. 扫码签到

1. Webdriver安装与配置
1.1 下载 chromedriver
-
用chrome浏览器打开 查看版本

-
在此处下载与版本相对应的chromedriver
-
将 chromedriver放在python路径下

-
测试是否配置成功

2. 相关python包
pip install selenium
pip install json
pip install smtp
3. 配置文件说明
{
"userName":"*************",#登录10.240.32.6:8099 的用户名
"password":"************", # 密码
"url":"http://update.unifound.net/wxnotice/s.aspx?c=100601185_Seat_100601462_1FC", # 座位二维码提取出的url,可以在 https://jiema.wwei.cn/ 中提取
"email":"260936@qq.com", # 接受消息的邮箱
"floor":4, # 楼层
"room":3, # 这个在网页上看房间在所在楼层的顺序,从1开始,例如403东的顺序是3
"seatId":86 # 座位的号码
}
4. 说明
4.1 预约
固定时段
[8:00 - 13:00] [13:00 - 18:00] [18:00 - 22:00]
由于周五白天只能预约到12:00。因此,程序在周四当天会出现预约错误。
另外,好久之前的代码了,印象模糊,所以就先将就着用吧。我会直接提供源码
4.2 签到
根据预约时段,程序会在 [8:00] [13:00] [18:00] 自动签到。
4.3 使用说明
在早上8点左右打开程序后直接挂着就行,如果相结合windows设置计划程序,那么需要自行修改程序,直接修改Mains()函数即可。
5. 源代码
from selenium import webdriver
import time
import datetime
import calendar
import smtplib
import json
from email.mime.text import MIMEText
class Lib:
def __init__(self):
with open("./default.json") as fp:
Info = json.load(fp)
self.user = Info["userName"]
self.pwd = Info["password"]
self.url = Info["url"]
self.email = Info["email"]
self.floor = Info["floor"]
self.room = Info["room"]
self.id = Info["seatId"]
self.appoint = "http://10.240.32.6:8099/ClientWeb/xcus/ic2/Login.aspx?sys=person"
'''
@Date: 2021/09/09
@Message: Send-Email-Server Default
'''
def sendEmail(self,text,remail):
smtp = "smtp.163.com";
subject = "图书馆占座"
sender = "messagesmxy@163.com"; # send email
pwds = "FYWRZLZFYDNBZLYL"; # security Code
content = text; # Message Text
recver = remail; # Receive email address
message = MIMEText(content, "plain", "utf-8");
message['Subject'] = subject;
message['To'] = recver;
message['Form'] = sender;
smtp = smtplib.SMTP_SSL(smtp, 994); # 实例化邮箱
smtp.login(sender, pwds); # 登录
smtp.sendmail(sender, [recver], message.as_string())
smtp.close();
return 1;
'''
@Date: 2021/09/09
@Message: 返回相应坐标
'''
def Dates(self):
date = []
year = datetime.datetime.now().year
month = datetime.datetime.now().month
day = datetime.datetime

本文介绍了一款基于Python的自动化程序,用于实现图书馆座位的预约与签到功能。该程序利用Selenium操作浏览器进行预约及签到,并通过邮件提醒预约状态。
最低0.47元/天 解锁文章
4792

被折叠的 条评论
为什么被折叠?



