当前位置: 首页 > article >正文

一键评教,查询成绩,批量免验证码选课,退课,-云大urp教务系统大作战(3)...

这一小节没有什么好讲的,如果你学会了上一小节的中心思想:
从真实世界看程序世界
那么我们可以触类旁通的继续通过f12控制台对于真实的查询成绩,加课,退课,教学评估的流程进行模拟。
此处注意几个点:

  1. 注意方法的输入与输出
  2. 批量加课通过一个list的for循环实现
  3. 一键教学评估通过for循环实现。

the method to get grade(查询成绩)

#传入token值返回成绩的json
def getGrade(token):URL = 'http://202.203.209.96/v5api/api/Result/'headers={'User-Agent':'Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1','Authorization':'Bearer %s'%token}response = requests.get(URL,headers=headers)# print response.request.headersjsonobj = json.loads(response.text)print jsonobj['TeachClassList']

免验证码加课:免验证码实现及字典表请查看前几节课程

#the method to add class
def addClass(token,classCode_add):URL = 'http://202.203.209.96/v5api/api/xk/addDirect'URL2 = 'http://202.203.209.96/v5api/api/xk/Captcha'headers={'User-Agent':'Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1','Authorization':'Bearer %s'%token}fr = open('../data/dict.txt','r')dic = dict()for line in fr:line = line.strip().split(',')dic[line[0]] = line[1]fr.close()response = requests.get(URL2,headers=headers,json={'ImgGuid':'68f08ba6-8262-4726-a4ea-b1a7b346b50e'})print responseimgguid  = response.text[1:-1]print imgguidcaputre  = dic[imgguid]response = requests.post(URL,headers=headers,json={'id':'%s'%classCode_add,'captcha':'%s'%caputre})# print response.request.bodyprint response.status_codeprint response.text

退课remove class

def removeClass(token,classCode_remove):URL = 'http://202.203.209.96/v5api/api/xk/remove'headers={'User-Agent':'Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1','Authorization':'Bearer %s'%token}response = requests.post(URL,headers=headers,json={'id':'%s'%classCode_remove})print response.status_codeprint response.text

教学评估Teaching evaluation

def teachEval(token):URL = 'http://202.203.209.96/v5api/api/TeachEvaluation'headers={'User-Agent':'Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1','Authorization':'Bearer %s'%token}response = requests.get(URL,headers=headers)jsonobj =json.loads(response.text)classcode =jsonobj['TeachClassList']for x in xrange(0,len(classcode)):classcode =jsonobj['TeachClassList'][x]['TeachClassId']response = requests.post(URL,headers=headers,json={"TeachClassId":"%s"%classcode,"Score":99,"SurveyAnswerStr":"22111111111111","Comment":"教学内容丰富有效,很受同学欢迎。%s"%x})print response.text

此处代码有些过于重复但是为了后期每个方法的独立性而进行了冗余。后期还有改进的空间。

http://www.lryc.cn/news/2420745.html

相关文章:

  • Openstack 单控制节点部署实例
  • CSS开发案例【新闻热榜】
  • 拼音汉字对照表
  • 数据补全与数据质量: 如何实现数据完整性
  • Openjdk 8合理使用容器的内存资源
  • 每天一个linux命令(54):ping命令
  • [随笔所想] 沉痛悼念开发技术专家毛星云老师
  • 罗马音平假字复制_LISA-- 炎(罗马音+平假)
  • 智能客服项目实战
  • 【让这些电影给你“治病”】
  • 过滤及提取电影资源名小算法(初级方案)
  • 淘宝抢拍器 chrome extension实现
  • 数据库安全性最佳实践:防护数据泄露和攻击的方法
  • 移动端设置固定比例的盒子,让图片铺满盒子,并设置默认图片
  • 使用ApexSQLLog对SQL Server数据库进行数据恢复
  • NouveauParfum
  • 友思特新品 | 多光谱与高光谱相机:基于随心而定的可调谐滤光片技术
  • 外贸独立站可获取流量的渠道有哪些?外贸网站引流真的那么难吗?- 【飞鱼SEO】
  • MATLAB作图方法与技巧
  • python图像模糊处理_Python图像处理,照片去色、翻转、模糊、缩略图统统搞定
  • 神之浩劫2登不上/连不上/进不去游戏/游戏进不去的解决办法
  • Zookeeper--集群及相关概念
  • 博客 Gif 动态图制作 - 插入gif动态图 GifCam
  • 地图之美(地图制图)
  • 2024年第二十一届 五一杯 (A题)大学生数学建模挑战赛 | 多目标优化问题,深度学习分析 | 数学建模完整代码解析
  • 高数15种常见特殊曲线:星形线、心形线、摆线、对数螺线、双曲螺线、阿基米德螺线、伯努利双纽线、三叶玫瑰线、四叶玫瑰线、六叶玫瑰线、三次抛物线、半立方抛物线、箕舌线、蔓叶线、笛卡儿叶形线、概率曲线
  • 06 Oracle数据是怎么存储的
  • 当 IDENTITY_INSERT 设置为 OFF 时,不能为表 ‘Users‘ 中的标识列插入显式值
  • python之爬虫爬取VIP蔬菜网农产品价格行情(使用requests库 + HTML)
  • 01、java、jdk、jre三者之间的区别与联系(包含java环境 配置)