您的位置:首页 > 其它

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

2015-07-20 20:35 162 查看

前言:

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


0x01

编程语言选用的是python,下面是需要的库,分别是numpy,matplotlib,PIL,urllib2,operator,re,scipy。
有了下面的库我们先来获取验证码。![登陆网站的源码](https://img-blog.csdn.net/20150728124555161)
从源码中我们能找到验证码的url,通过url我们能将图片保存成本地文件,下面是具体代码:
`import urllib2
def 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 ,也就是上文正则抓取的部分,它和验证码相对应。一起返回回来可以之后用。运行结果如下:![可以看到获得了验证码的本地文件](https://img-blog.csdn.net/20150728131732721)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  验证码