南通大学python期末考试试卷答案_南通大学自动评教脚本(python)
临近期末我等学沫都在紧张的进行着复习(预习),本来时间就不多,居然还让我们去评教万一因为这点时间我们挂科了咋办,于是乎用半生不熟的python写个自动评教的脚本。
一,具体分析:
我们先来评一个抓包来看
1.可以看出
请求方法:POST
地址 : /cjcx/actions/SubmitEvaluationTeaching.aspx
参数 :
cjid:是课程编号
cpjg: 是评级
advice: 是建议
2.来找获得cjid的请求
可以看出
请求方法:post(经测试,get同样有效)
地址:/cjcx/Data/EvaluationCourseData.aspx
没有参数
二,具体流程
1.模拟登陆(之前的文章写过了这里)
2.请求cjid,用正则表达式来找出cjid
3.遍历cjid,构造求参数,向提交地址提交
4.处理请求的返回,判断评教成功与否
三,效果
四,完整代码
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import urllib2
import urllib
import cookielib
import re
cj=cookielib.CookieJar()
headler=urllib2.HTTPCookieProcessor(cj)
opener=urllib2.build_opener(headler)
url="http://jwgl.ntu.edu.cn/cjcx/Default.aspx"#登录页面
url1="http://jwgl.ntu.edu.cn/cjcx/checkImage.aspx"#验证码页面
scoreurl="http://jwgl.ntu.edu.cn/cjcx/Data/ScoreAllData.aspx"#获取分数
cjidurl="http://jwgl.ntu.edu.cn/cjcx/Data/EvaluationCourseData.aspx"
tijiaourl="http://jwgl.ntu.edu.cn/cjcx/actions/SubmitEvaluationTeaching.aspx"
def login():
#输入数据
print u"××××××××××××××××××××南通大学教务系统登陆××××××××××××××××××××"
print u"输入学号!"
xh=raw_input()
print u"输入身份证号!"
sfzh=raw_input()
print u"密码!"
kl=raw_input()
yzm=opener.open(url1)
yzmgif=open("yzm.gif","w")
yzmgif.write(yzm.read())
yzmgif.close()
print u"验证码已保存在本文件目录下(yzm.gif),请查看并输入!"
yzmstr=raw_input()
#数据保存
jilu=open(xh+".txt","w")
jilu.write("学号:"+xh+"\n身份证号:"+sfzh+"\n密码:"+kl)
jilu.close()
values={"__VIEWSTATE":"/wEPDwUJODExMDE5NzY5ZGRgtUdRucUbXsT8g55XmVsTwV6PMw==",
"__VIEWSTATEGENERATOR":"6C0FF253",
"xh":xh,
"sfzh":sfzh,
"kl":kl,
"yzm":yzmstr}
scoreValues={"start":"0",
"pageSize":"80"}
#login
request=urllib2.Request(url,urllib.urlencode(values))
f=opener.open(request)
def pingjiao():
#get cjid
cjidRequest=urllib2.Request(cjidurl)
cjid=opener.open(cjidRequest)
cjidstr=cjid.read()
print cjidstr
restr='"cjid":"(.*?)"(.*?)"kcmc":"(.*?)"'
restr1='true'
pattern=re.compile(restr)
pattern1=re.compile(restr1)
items=re.findall(pattern,cjidstr)
for item in items:
#print item[0],item[2]
print 'subject:'+item[2]+' is doing... '
pjcsValues={"cjid":item[0],"cpjg":"111111111","advice":""}
resultR=urllib2.Request(tijiaourl,urllib.urlencode(pjcsValues))
result=opener.open(resultR)
resultstr=result.read()
#print resultstr
restr=re.findall(pattern1,resultstr)
#print resultstr
if restr!=[] and restr[0]=='true':
print 'success'
else:
print 'failed'
login()
pingjiao()
南通大学python期末考试试卷答案_南通大学自动评教脚本(python)相关推荐
- 南通大学python期末考试试卷答案_南通大学试卷A(答案及评分标准)
课程名称 电动力学 考试班级 物理师范 051 考试标准用时 120 分钟 试卷代号 A 3-1 参考答案及评分标准: 一.问答题:(共两题,每题 10 分,计 20 分) 1 . 答: l s B ...
- 南通大学python期末考试试卷答案_南通大学大一下学期英语期末考试必考题答(已排版)...
第 1 页 共 4 页 新视野大学英语读写教程第二版第二册课后练习答案 unit 1 1. L 2. C 3.D 4. N 5. O 6.A 7. E 8.G 9.I 10. K 她连水都不愿意喝一口 ...
- 南通大学python期末考试试卷答案_南通大学2015-2016年1学期《软工》作业点评总结...
第一次作业(2015.9.13) 作业题目 存在问题 1.学生可能平时写博客的机会比较少,书写格式存在的问题比较多.比如文字排版.博客中的代码直接粘贴(没有使用代码样式).插入的图片太大等等.这些问题 ...
- java期末考试试卷及答案文库_Java期末考试试卷答案A
Java期末考试试卷答案A JAVA程序设计试卷库(第5套)一.单选题(每小题 2 分,共 20 分)1.Java Application源程序的主类是指包含有( A )方法的类.A. main方法 ...
- 小猿圈python之python期末考试测试题(一)_小猿圈python之python期末考试测试题(二)...
快临近期末考试了,小伙伴们是不是又开始焦虑了呢?挂科怎么办?如果很幸运看到小编的文章,你就偷着乐吧,小编总结出:一般python期末考试老师们最爱考的内容,一定要好好看啊,争取做到python不挂科: ...
- python期末考试及答案a卷_Python数据分析与数据可视化知到APP期末考试完整答案...
Python数据分析与数据可视化知到APP期末考试完整答案 更多相关问题 关于班级管理的概念,以下说法中正确的有[]A.是一种有目的的活动B.主要对象是学生C.体现出一种互 [C17]A.progre ...
- 南通大学python期末考试试卷_模拟试卷C
6. 为了使模块尽可能独立,以下选项中描述正确的是 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱 模块的内聚程度要尽量低,且各模块间的耦合 ...
- 南通大学python期末考试试卷_python期末考试试题汇总
6.for i in range(2,n): if n%i==0:break if i==n-1: print('是素数') else: print('不是素数') 7.'abcabcabc'.cou ...
- python期末考试及答案广东_Python2020期末考试试题及答案
Python2020期末考试试题及答案 一.选择题 1.下列是 python 合法标识符的是( B). A. 2variable B. variable2 C. $anothervar D. if 2 ...
最新文章
- Ruby中的多行注释?
- OC-Foundation框架
- Mongodb在Linux下的安装和启动和配置
- mot数据集_谈谈ReID与MOT的关系
- 如何设置鼠标滚轮html,win7如何设置鼠标滚轮
- LeetCode 404. 左叶子之和(递归)
- python闭包详解函数_详解python函数的闭包问题(内部函数与外部函数详述)
- mysql 定期备份策略,MySQL--3--mysqldump备份策略
- OC之集合的创建及应用
- DTcms拓展字段添加-配参-页面获取-查询调用-数据配置
- L1-011. A-B
- yii mysql gii_YII-快速用gii创建一个简单的yii项目!
- 阿里巴巴、Amazon、Windows、Android、Google、Internet、iPhone、汽车底盘、以及信用卡都属于平台经济--产品平台---供应链平台---产业平台--双边市场平台
- 想从事编程报考专业:计算机技术好,还是软件工程好?
- 科技前沿:几款意念控制器
- python实现手写体数字识别
- 《现代职业教育》杂志正规吗?现代职业教育杂志社现代职业教育编辑部投稿要求
- Ansible进阶学习之Playbooks(剧本)的理解使用
- git push 报错 ---error: commit 8aa8e31: email address yin.jiaqing@.....com is not registered in your
- 用Hadoop,还是不用Hadoop?