主要是对cookie的处理,对正则表达式的应用

多大学用的都是urp的吧,帮同学评教的时候也改进了许多。 正常评教时每个网页需要等待2分钟,程序里没有激活js直接就可以秒评。

ps: urp的网页写的这都是啥啊! wjbm、bgr、pgnr完全看不懂是什么意思… 就看懂一个 ,密码是mm….

代码

#-*-coding:utf-8-*-
#python3.4 projiet
import http.cookiejar, urllib.request,re,time
header = {'Connection': 'Keep-Alive','Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8','Accept-Language': 'en-US,en;q=0.8,zh-Hans-CN;q=0.5,zh-Hans;q=0.3','User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko','Accept-Encoding': 'gzip, deflate',#  'Host': '',}#//
#如果要使用的话修改这里的三个参数
index_url = ''                    #登录网址
teacher_list_url = ''             #评教名单网址
paper_url = ''                    #评教页面网址
submit_url = ''                   #评教提交表单网址
#//
def get_paper_form_postdata(wjbm,bpr,pgnr,L = []):if len(L)==0:postDict = {'wjbm':wjbm,'bpr':bpr,'pgnr':pgnr,'oper':'wjShow',#'wjmc':'2014-2015-2%CC%E5%D3%FD%BF%CE',      #fuck !     what the hell is that!    #'bprm':'%CE%E2%B1%F6',                                                                     #fuck !     what the hell is that!    #'pgnrm':'%CC%E5%D3%FD%A3%A8%B6%FE%A3%A9',                  #fuck !     what the hell is that!    'pageSize':'20','page':'1','currentPage':'1','pageNo':''}else:postDict = {'wjbm':wjbm,'bpr':bpr,'pgnr':pgnr,#  'zgpj':}for x in L:postDict[x] = '10_1'     #默认全都是最好想修改去urp看每个评级的值postData = urllib.parse.urlencode(postDict).encode()return postDataprint('默认都是好评,如果不想给那个老师都好,请登陆网站先对那个老师进行评教!')
id = input('Input your number:')
password = input('please enter your password: ')
postDict = {b'zjh': id,b'mm': password,
}
postData = urllib.parse.urlencode(postDict).encode()
cj = http.cookiejar.CookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))
r = opener.open(index_url,postData)                                                                                 #1.login
#get cookie
r = opener.open(teacher_list_url)                                                                                       #2.get the page list
html = r.read().decode('GBK') #get teacher list
html_select = re.findall('<img name="(\d+)#@(\d+)#@(.+?)#@.+?#@(.+?)#@(\d+?)"',html)
for n in range(len(html_select)):wjbm = html_select[n][0]bpr = html_select[n][1]print('正在评价:',html_select[n][2],html_select[n][3])html_select[n][3]pgnr = html_select[n][4]postData = get_paper_form_postdata(wjbm,bpr,pgnr)r = opener.open(paper_url,postData)  r = r.read().decode('GBK')                                                                                  #page listflag = re.findall('name="(\d+)"',r)a = [flag[0]]                                                         temp = flag[0]for i in range(len(flag)):if temp != flag[i]:a.append(flag[i])temp = flag[i]postData = get_paper_form_postdata(wjbm,bpr,pgnr,L = a)r = opener.open(submit_url,postData)time.sleep(0.5)print('成功!')
print('评教完毕!')
print('如有问题,请反馈给 277303565@qq.com')
input()

python模拟登录URP教务系统评教相关推荐

  1. 用Python模拟登录学校教务系统抢课

    --  Illustrations by Vladislav Solovjov -- ♚ 作者:小苏打 博客地址:https://vhyz.me GitHub地址:github.com/vhyz/ZF ...

  2. 抢课不再凭手速和运气,Python模拟登录学校教务系统抢课

    前言: 最近学校开始选课,但是如果选课时间与自己的事情冲突,这时候就可以使用Python脚本自助抢课,不用再担心手速跟不上,抢啥中啥.不用再承受抢不中想去的课,最后被调剂到各种"灭绝师太&q ...

  3. 用 Python 实现模拟登录正方教务系统抢课

    (点击上方蓝字,快速关注我们) 作者:小苏打 https://vhyz.me/2018/06/12/用Python实现模拟登录正方教务系统抢课/ 最近学校开始选课,但是如果选课时间与自己的事情冲突,这 ...

  4. Python爬取URP教务系统课程表并保存到excel

    Python爬取URP教务系统课程表并保存到excel 爬取URP教务系统课程表最终结果如图所示: 接下来开始操作: 首先打开教务系统->按F12->点击Network->刷新一下界 ...

  5. python多次登录教务系统_python3模拟登录正方教务系统

    刚学了大概两周的python ,顺便搞了下爬虫.试着用python模拟登录学校的教务系统. 看了个教程,附上链接 参照教程做了一下,发现系统经过一些变动,原教程还有很多可以改进的地方 准备工作 先来看 ...

  6. python模拟登录教务系统_用Python实现模拟登录正方教务系统抢课

    最近学校开始选课,但是如果选课时间与自己的事情冲突,这时候就可以使用Python脚本自助抢课,抢课的第一步即是模拟登录,需要模拟登录后保存登录信息然后再进行操作. 而且整个流程是比较简单,这是因为正方 ...

  7. 用Python实现模拟登录正方教务系统抢课

    最近学校开始选课,但是如果选课时间与自己的事情冲突,这时候就可以使用Python脚本自助抢课,抢课的第一步即是模拟登录,需要模拟登录后保存登录信息然后再进行操作. 而且整个流程是比较简单,这是因为正方 ...

  8. asp 退出登录修改cookie能进入后台_用Python实现模拟登录正方教务系统抢课

    6月23日更新:由于国内高校正方教务系统或多或少都会有所不同,所以细节地方还是需要自己修改的,我这个过程也只是一个案例,但这其中的本质上是不变的,即是抓包分析. 如果有什么不懂的,可以在评论区评论,或 ...

  9. python抢课脚本 验证码_用Python实现模拟登录正方教务系统抢课

    最近学校开始选课,但是如果选课时间与自己的事情冲突,这时候就可以使用Python脚本自助抢课,抢课的第一步即是模拟登录,需要模拟登录后保存登录信息然后再进行操作. 而且整个流程是比较简单,这是因为正方 ...

最新文章

  1. 【转】Android 快捷方式的创建
  2. NotePad++列编辑
  3. 解析时代需要什么样的根目录,中国科技需要什么样的根技术
  4. Goroutine池
  5. 《Haskell趣学指南》—— 第2章,第2.3节类型变量
  6. [Webpack 2] Ensure all source files are included in test coverage reports with Webpack
  7. spring--(25)声明式事务
  8. OpenCV学习——轮廓检测
  9. jquery.uploadify参数
  10. 阿里云rds升级mysql8_为更强大而生的开源关系型数据库来了!阿里云RDS for MySQL 8.0 正式上线!...
  11. axure中备注线_Axure教程资料
  12. Objective-C 中 NULL、nil、Nil、NSNull 的定义及不同
  13. Hadoop SequenceFile存储格式入门
  14. vue Mutation 必须是同步函数 为什么_为什么vue组件中data必须用函数表达?
  15. 红帽RHEL5U4平台实现pppoe+freeradius+mysql认证服务器(一)
  16. vue2.0一起在懵逼的海洋里越陷越深(二)
  17. 企业管理员必看:企业邮箱如何注册?企业邮箱账号怎么管理?
  18. 软件设计师-数据结构知识
  19. 使用深度学习Web项目的手写Marathi印地语字母书写和检测
  20. UTL_FILE详解

热门文章

  1. [PS] 透明底图片制作
  2. 心灵的吟唱——读《湖海诗情录》
  3. 云网融合驱动数据中心技术聚变
  4. 全排列的java算法_全排列算法原理和实现
  5. log buffer及日志管理深入分析及性能调整(七)
  6. aps是什么意思_aps是什么意思
  7. KDD 2021 | 基于多智能体协同竞价博弈的电商搜索广告多目标竞价优化
  8. 手机QQ山寨微信 3万网友愤愤不平
  9. MySQL 检索昵称字段合法中文/日文字符对于 5.7/5.6 版本失败的解决方案
  10. 我为什么要创业?——张林轩