python短信发送查询数据库结果_系统通过Python查询分数并发送短信通知

程序代码中硬编码很多,正在逐步清除当中。过几天将放上稳定的版本。

目前大部分大学都通过计算机网络的方式向学生公布学习成绩,学生登录网站之后才能看到自己的成绩。

### 本设计有以下优点: ###

1. 大学生几乎每个人都有手机,这样每位同学都可以在同一时间里得到自己的成绩通知

1. 教务处可以利用此软件及时公布学生们的学习成绩,免除学生担心成绩。

整体系统设计方案

整个系统通过Python结合urllib库模拟用户登陆学生URP教务系统,并访问指定页面获取本学期该学生的成绩信息。并将包含成绩信息的HTML代码全部抓取下来。之后通过控制Python调用Linux下面Sed文本编辑器,对抓取的HTML信息代码进行剪裁提取,获得具有可读性的成绩信息。之后通过Python结合MySQL库将成绩保存到数据库中。

Python程序还将判断这次抓取后的成绩是否和上次抓取的相一致,如果不一致,则调用PyFetion库登陆飞信发短信报警。用户信息保存在MySQL数据库中,用户的添加是通过PHP程序来操控MySQL数据库实现的。

网页端采用了XHTML+CSS+Javascript的JQuery库来实现。因为采用了AJAX技术,使得该系统可以给予用户良好的操作体验。

整个系统启动需要启动Apache,MySQL和judge.py,其中Apache和MySQL是提供网页的运行环境,而judge.py则是采用轮循的方式对数据库中每个注册的用户进行扫描,调用ScoreScanner.py程序来判断是否需要发送短信。

因为课设时间紧,整个系统目前还有很多不足和亟待改进之处,已知的有:

现在用户注册时候必须提供自己的飞信密码,实现自己给自己发飞信。这样做的缺点是个人飞信密码容易泄露,同时查分时会干扰正常的飞信使用(会导致异常断线)。下一个版本应该改进为由某个用户统一给同学发飞信。

定时查分程序较为简陋。这次因为在使用Crontab做延时的时候总是出现一些问题,最后只好舍弃Crontab,改用Python自己的延时来实现。

分数转换部分的sed脚本还存在问题。在遇到某些

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值