使用Python访问方正教务框架
这篇文章只谈技术实现,不谈目的。
Intro
我在去年年底的时候开始做这个访问网站的脚本,不过因为在验证码环节直接识别的准确率过低,最后也就不了了之。再加上没有对这个网站的框架有更深层次的了解(就是懒的),所以就再也没有再继续。
后来因为某种机缘巧合,我得知方正教务系统有不用验证码也可以登录,于是就用了一个上午(浪费时间啊),仔细地顺着之前的思路写下去。
网上找了找其中的绕过教务验证码的文章是这篇,很多的教程都是在抄这一篇(虽然我也不确定是不是原作者),反正内容都是一样的。总结其思路就是利用网站这个大大的后门。我就试了试,如预期的一样,这个很明显的漏洞已经被封堵上了。
这就意味着,还是要识别验证码。但是目前的OCR模块识别率感人,要是做的话就只能多次请求试错了,后期我会补全训练的过程。
这里我是用了Tesseract OCR识别验证码。这里就捎带脚讲一下相关python环境的搭建吧。经过了这么长时间的使用,我发现python的环境配置还是很方便的。一般使用pip install xxx
就可以解决这种问题。
安装
首先要下载Tesseract-OCR模块
之后要使用
pip install pillow
这里之所以使用pillow是因为之前的PIL的部分代码已经年久失修了,而且pillow可以使用pip
安装,因此生了不少功夫。还需要requests,lxml,BeautifulSoup4,安装方法在爬取学校信息门户的那篇博客里已经讲的很清楚了,同时你也可以使用
pip install bs4 requests lxml
来安装
安装之后,我们就要开始写代码了。
Coding
有了之前的那篇博客的讲解,我翻了翻看,基本是把requests库的内容讲的差不多了。那么剩下的内容就是涉及到了教务网站的框架了。
先更到这里…有时间再加更