针对验证码,做一个简单的自动网上签到程序(一)
现在签到改成网络签到,比较麻烦,总是需要登陆再签,所以想着做个自动登录并签到的东西,看了看,其他的问题都不大,登录的东西很简单,就是post下就可以了。
查了查,主要问题在验证码部分,看了看,有几种途径,我这种的还属于不是特别难的,就是有背景加上颜色的东西,没有扭曲,没有旋转。先做点准备工作,弄100个验证码下来,考虑是建立点样本库。
?
#! /usr/bin/env python#coding=utf-8import urllib2import sysimport reimport stringimport datetimeimport sqlite3 as sqliteimport timeimport osfrom Tkinter import *import Image,ImageEnhance,ImageFilterimport ImageTkdef getchkcode(): oa='http://ip/CheckCode.aspx' for i in range(100): print i req = urllib2.Request(url=oa) f = urllib2.urlopen(req) #print f.msg document=f.read() filename=str(i)+'.gif' #print filename checkgif = open(filename, 'wb') checkgif.write(document) #print document checkgif.close() f.close() time.sleep(1)#i_name='1.gif'
?
我的验证码都是下面的样子

大概的处理验证码,几个步骤:
1.首先要单值化,去噪点,然后开始识别。
2.识别有几种方式,我的都是数字。
??? 要么直接识别,针对每个数字分区,然后根据特征来弄。
??? 要么建立自己的样本库,根据样本统计来做,这种方式可能比上面那种准确率更高点。
3.识别分几个步骤,分割图片、样本对照、得出具体数字。其中样本库方面还得做点纠错的东西。
?
参考了这里的文章
这篇是验证码的,跟我的比较类似? http://cocobear.info/blog/2008/08/04/python-pic-recognize/
这个是图像处理的?? http://yuweififi.blog.hexun.com/26532206_d.html
英文的 ?? ?? http://www.wausita.com/captcha/
挂了的?? http://blog.lazytech.info/2008/08/04/python-and-captcha/