前言

文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

作者: HIS Hacker

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http://t.cn/A6Zvjdun

背景说明

在github上发现一个古老的华医网考试脚本(https://github.com/lhzzzzzz/autoexamofhuayi),是python2写的。它实现了华医网自动登录、自动获取考试编号cwid、自动考试。现在把它翻新一下。

脚本功能

基于已知的考试编号cwid,进行华医网自动考试。

需要用到的工具(开发环境)

1、Google Chrome;

2、Fiddler:用于抓包;

3、PyCharm

思路分析

一、答题流程分析

已有现在的Javascript脚本(《华医网自动答题脚本》),根据华医网的答题代码,进行自动答题。但这个代码使用的是试错了,反复提交需要消耗时间,不适合批量操作。

根据GitHub现有脚本(https://github.com/lhzzzzzz/autoexamofhuayi),发现华医网是直接把原答案放在试题的网页中

所以其实在答题界面,用chrome的F12进行Inspect,也能找到正确答案。

name="gvQuestion$ctl03$result" 对应的 value即正确答案的value

通过Fiddler抓包可以看到,考试主要包括三个动作:

1、GET 考试试题

2、POST 考试试题+答案

3、GET 考试结果

而其中

POST答案提交的data包括以下几部分:

1、__EVENTTARGET 等是 ASP.Net 相关验证参数:可以从考试界面的网页中用正则表达式提取;其中留空的字段可以不提交

2、Hidden1、Hidden2、Hidden3:表示最前面的课程评价星级,可以不提交;

3、gvQuestion$ctl03$question_id、gvQuestion$ctl03$result、gvQuestion$ctl03$rbl :表示题号、正确选项、考生选项(这里当然是直接提交正确选项的value)

二、模拟登录华医网

根据旧的py脚本,以前的华医网登录不需要验证码,现在有了图片验证码,登录变得麻烦了。还是改成手动复制Fiddler抓到的cookie吧

三、Session会话保持

华医网登录之后使用Session进行对话,获取考卷、提交考试、获取成绩都会刷新cookie,而且只有最新的cookie能进行下次对话。

所以这里需要用requests.session()保持会话,而且起始的cookie必须是最新的一个cookie

运行结果

如果全部考完,可以在网页中看到可以申请证书。

MORE

华医网很多bug的,如没有完成考试也可以直接申请证书,在考试结果页面,浏览器状态输入代码就可以。

使用流程(代码实现)

如果你处于想学Python或者正在学习Python,Python的教程不少了吧,但是是最新的吗?说不定你学了可能是两年前人家就学过的内容,在这小编分享一波2020最新的Python教程。获取方式,私信小编 “ 资料 ”,即可免费获取哦!

如何使用python进行自动网上考试相关推荐

  1. 【实战案例】python进行自动网上考试

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 背景说明 在github上发现一个古老的华医网考试脚本(https://gi ...

  2. python生成试卷制卷系统_Python如何自动生成考试试卷?

    本期要给大家带来自动生成试卷内容,实现目标是随机生成100道100以内的加法试卷.最终效果是以Word文件方式生成试卷并放置到相应目录下.这里需要依赖的知识点主要包含docxtpl模板的使用.Word ...

  3. Python版自动组卷评卷考试系统,具有考试定时、自动组卷、客观题自动判卷、自动评分和考试界面设计功能

    一.实验项目名称: 自动组卷评卷考试系统 二.实验内容 用Python语言编程实现自动组卷评卷考试系统,软件主要功能包括:从题库中随机抽取试题自动组成试卷(满分100分):实现考生考试答题操作界面:实 ...

  4. Python软件编程等级考试四级——20211205

    Python软件编程等级考试四级--20211205 理论 单选题 判断题 实操 第一题 第二题 第三题 理论 单选题 1.Python 中函数不包括? A.标准函数 B.第三库函数 C.内建函数 D ...

  5. Python软件编程等级考试二级——20211205

    Python软件编程等级考试二级--20211205 理论 单选题 判断题 实操 第一题 第二题 理论 单选题 1.执行以下程序运行的结果是? a=[33, 55, 22, 77] a.sort() ...

  6. Python软件编程等级考试二级——20220618

    Python软件编程等级考试二级--20220618 理论 单选题 判断题 实操 第一题 第二题 理论 单选题 1.运行下列程序,输出的结果是? tup1 = ('苏炳添', '谷爱凌', '北京冬奥 ...

  7. 利用Python实现自动批量图片格式转换

    文章目录 利用Python实现自动批量图片格式转换 0.背景 1.简单思路 2.进一步改进 3.最终版本 4.总结 利用Python实现自动批量图片格式转换 0.背景 在一个漫画网站下载了一些图片,但 ...

  8. Eclipse+Java+SSM+Easyui实现网上考试系统

    网上考试系统 一.系统介绍 二.系统展示 1.考生-注册登录 2.考生-主页面 3.考生-选择课程 4.考生-考试界面 5.考生-自动判卷 6.考生-查询成绩 7.考生-修改信息 8.管理员-登录 9 ...

  9. 计算机考试答题设计用例图,学生网上考试系统的设计与实现

    摘 要: 运用Visual C++程序设计技术与SQL Server2000数据库技术相结合,开发了学生网上考试系统.根据学生考试的特点和学校的实际情况,网上考试系统中设置两种用户,分别是学生和教师. ...

最新文章

  1. 基于C++实现线程池加速
  2. 手机号码 与 邮箱验证
  3. springmvc集成oracle,SpringMVC整合druid
  4. h.264 scanning process for transform coefficients
  5. Python多任务(3.线程--多线程共享全局变量,利用同步解决资源竞争,利用互斥锁)
  6. SSL / TLS REST服务器–带有Spring和TomEE的客户端
  7. Symbol Mc1000 快捷键 的 设置 事件 开发
  8. lwip连续发数据卡死_Mysteel:12月全球铁矿石发运量稳中微增 进口矿咋走?
  9. 循环序列模型 —— 1.7 对新序列采样
  10. GPS各种地图坐标系转换(转载)
  11. postgresql 的 libdir 在哪里?
  12. AFNetworking框架下的SSL服务器证书的自定义验证
  13. Mac上的包管理器Homebrew的介绍及安装和使用实践
  14. java hibernate状态_Hibernate对象的三种状态
  15. python爬虫百度地图_Python抓取百度地图的数据
  16. 【宏定义】#define 的使用方法
  17. 树莓派编译ffmpeg支持x264硬解码播放视频
  18. c++程序设计基础(第五版)(上) 习题与解答
  19. 【性能监控】TTI (Time to interactive)
  20. U-BOOT分析(二)之顶层Makefile文件(1)

热门文章

  1. 黑苹果OC引导AX201网卡教程,小新Pro13不换网卡也能上网
  2. Linux_Linux 修改hostname 且不重启也能生效
  3. 【老李的模拟赛】【#7】【2014-08-13】
  4. mysql实体指的是_数据库中,实体是指( )。
  5. 买台iPad拯救青蛙!苹果AR应用可虚拟解剖青蛙
  6. 统计建模:数据分析基础
  7. 弘辽科技:直通车双重优化
  8. 我们目前能想到的搞定星际旅行的办法
  9. 英雄萨姆二次出击全攻略
  10. 迅雷BT种子制作方法