使用K-NN算法解析验证码

来源:互联网 发布:程序员公众号 编辑:程序博客网 时间:2024/05/16 11:29

前言:

        最近在搞学校教务系统的模拟登陆。虽然有一个登陆接口没有验证码,但是,不知道学校什么时候会关闭这个接口,所以就有了让程序去实现解析验证码的想法。最近又看了《机器学习实战》,用其中第一章的知识完全可以识别验证码了,而且样本只要十个就够了。下面是详细的内容。

0x01

 编程语言选用的是python,下面是需要的库,分别是numpy,matplotlib,PIL,urllib2,operator,re,scipy。 有了下面的库我们先来获取验证码。![登陆网站的源码](http://img.blog.csdn.net/20150728124555161) 从源码中我们能找到验证码的url,通过url我们能将图片保存成本地文件,下面是具体代码: `import urllib2def get_checkcode():    url = 'http://211.70.49.127/CheckCode.aspx'    web = urllib.urlopen(url)    pic = web.read()    name = 'checkcode.png'    fil = file(name,'wb')    fil.write(pic)    fil.flush()    fil.close    url = web.geturl()p_url=re.findall(r'http://211.70.49.127/(.*?)/CheckCode.aspx',url)[0]     return name,part_url`随便提一句,这个教务系统没有cookie,登陆凭据是url里的session id ,也就是上文正则抓取的部分,它和验证码相对应。一起返回回来可以之后用。运行结果如下:![可以看到获得了验证码的本地文件](http://img.blog.csdn.net/20150728131732721)
0 0
原创粉丝点击