在此之前,在他人的博客中看到一篇文章新理念外语网络教学平台——获取任意答案,但是写得不是很详细,下面我来详细的说明一下.

原理

首先进入自己学校的平台.打开开发者工具--network,然后登陆

image-20181107200010320

image-20181107200045194

可以看到headers和data.并且data中的tbName和tbPwd都没有加密.这是之后我们需要post的 包括上面两个_

答案从哪来

如果你此前做过测试并且获得过60分以上的成绩,就可以查看那个习题答案.

我们打开开发者工具-- network.然后查看答案.

我们发现

image-20181107200606504

答案是通过viewTestTask.apsx获取的.其中data中三个数字就代表返回给viewTestTask.aspx来获取测试的答案.

那么我们就需要 获取这三个数字.

如何获取三个关键数字

首先我们需要进入本周测试的网页.

然后打开开发者工具--network

image-20181120215727161

抓取

通过viewTestTask.aspx传入header和data进行抓取.

由于先人的代码会造成

UnicodeEncodeError: 'latin-1' codec can't encode characters in position 32-37: ordinal not in range(256)错误,我进行了二次修正.仅供参考.适合版本[新理念英语v6.2]

需要修改的地方已经标注. python版本3.7

实现全自动答题

准备

你需要安装Python3以上版本,并且正确安装Requests库,selenium库,Chrome以及对应的WebDriver。

除此之外你不需要做任何事。

开始

git clone https://github.com/Innei/Auto-AnswerXinLinian.git
cd Auto-AnswerXinLinian
python3 ./main.py