Python 查询中小学教师资格考试(NTCE)成绩

本文分析了中国教育考试网教师资格证成绩查询接口,详细介绍了如何利用Python进行批量成绩查询,包括请求分析、验证码处理及批量查询实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. 前言

在查询教师资格证成绩时,发现可以进行批量查询,于是就分析了一下查询请求的参数和逻辑。成绩查询地址:成绩查询 - 中国教育考试网

二 . 请求分析

1. 首先输入错误的信息请求,通过抓包工具查看,只有一个请求:http://search.neea.edu.cn/QueryMarkUpAction.do?act=doQueryNtceResultsList

2. 查看请求参数,一共七个:act,pram,ksxm,nexturl,xm,zjhm,verify;构造多次请求后,发现act,pram,ksxm,nexturl这四个参数是固定值,xm:姓名,zjhm:证件号码,verify:验证码;既然请求地址和参数都已经知道了,于是写代码进行请求,返回居然是验证码错误。

3. 开始分析验证码。每次点击验证码,都会向服务器发送一次请求:http://search.neea.edu.cn/Imgs.do?act=verify&t=0.3103432370337762,参数act:固定值,t:时间戳,响应都是验证码图片。难道还要手动识别验证码图片内容?

三. 对接打码平台

谷歌搜验证码图片内容识别,列出来好几个打码平台,每个平台都注册比较了一下,发现这个平台相对实惠一点,新用户折扣也还行。直接使用Python的demo,替换掉关键参数,对接成功。

四. 进行请求

1. 首先请求验证码图片,将返回的图片以字节类型保存下来;

2. 调用打码平台,图片内容作为参数,返回了正确的识别内容;

3. 再次请求查询地址,又返回了验证码错误。打码平台识别的内容与手动识别的内容是一致的啊。

五. 再次分析请求

1. 查看请求验证码的请求头与响应头,两者的cookie中都有一个公共参数:verify。

2. 在看请求查询的请求头与响应头,请求头中的cookie中也有一个参数:verify。

3. 将请求验证码的响应头中的cookie值全部作为请求查询的请求头的cookie,请求查询,正确返回了结果。为什么不用请求验证码的请求头中的cookie呢?因为这个cookie没有包含服务器响应的最新信息,服务器一般验证的都是最新的cookie值。

4. 循环请求查询就是批量查询了。

六. 运行环境

PyCharm + Python 3.0 + Win 10

七. 详细代码

码云

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值