针对验证码,做一个简单的自动网上签到程序(一)

现在签到改成网络签到,比较麻烦,总是需要登陆再签,所以想着做个自动登录并签到的东西,看了看,其他的问题都不大,登录的东西很简单,就是post下就可以了。

查了查,主要问题在验证码部分,看了看,有几种途径,我这种的还属于不是特别难的,就是有背景加上颜色的东西,没有扭曲,没有旋转。先做点准备工作,弄100个验证码下来,考虑是建立点样本库。

 

#! /usr/bin/env python
#coding=utf-8
import urllib2
import sys
import re
import string
import datetime
import sqlite3 as sqlite
import time
import os
from Tkinter import *
import Image,ImageEnhance,ImageFilter
import ImageTk

def 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/

你可能感兴趣的:(python,sqlite,F#,OS,Blog)