Python验证码识别

一、准备工作与代码实例

1、PIL、pytesser、tesseract

(1)安装PIL:下载地址:http://www.pythonware.com/products/pil/(CSDN下载

下载后是一个exe,直接双击安装,它会自动安装到C:\Python27\Lib\site-packages中去,

(其实用pip安装的,pip install PIL 或者 pip install Pillow吧忘记了,可以查下看下!)

(2)pytesser:下载地址:http://code.google.com/p/pytesser/,(CSDN下载

下载解压后直接放C:\Python27\Lib\site-packages(根据你安装的Python路径而不同),同时,新建一个pytesser.pth,内容就写pytesser,注意这里的内容一定要和pytesser这个文件夹同名,意思就是pytesser文件夹,pytesser.pth,及内容都要一样!

     

 

(3)Tesseract OCR engine下载:http://code.google.com/p/tesseract-ocr/(CSDN下载

下载后解压,tessdata文件夹,用其替换掉pytesser解压后的tessdata文件夹即可。(就上面的pytesser文件夹)

 

          

 

其实只要把解压的文件直接全部复制过去就可以了,会提示你是否要覆盖,你就直接覆盖就可以。PS:一开始我只是把tessdata复制过去覆盖了,最后重新定义了脚本的工作路径还是没有用但是全覆盖,然后就OK了

 

注意:要读取的验证码图片需要保存在C:\Python27\Lib\site-packages\pytesser这个目录下,也就是pytesser这个安装包的文件下,其实不保存在哪个目录下也是可以的,只是要注意些哪个

图片的路径的时候要注意,下面是出错的图片

 

        

 

就是注意Windows下的反斜杠问题就可以了。

 

下面就是测试的代码:

1 rom pytesser import *
2 import os
3 os.chdir('C:\Python27\Lib\site-packages\pytesser')   #就是重新定义脚本下的工作目录;相当于shell下的cd
4 my_math = os.getcwd()
5 print my_math
6 
7 math = 'fnord.tif'
8 im = Image.open(math)
9 print image_to_string(im)

如果你没有重新定义脚本的工作路径的话就会出现,下面这个错误:

 

        

 

 

这个只能是比较简单的验证码,复杂的还另外写代码,但是要先搞清楚,读取验证码的原理,只学了一个月的Python,能力就只能到这来了!!!

等我成大神了就可以了,O(∩_∩)O~   一定可以的,加油↖(^ω^)↗

参考:

      http://www.voidcn.com/blog/u014265347/article/p-5036019.html

      http://blog.csdn.net/evankaka/article/details/49533493

posted @ 2016-05-16 11:43  睚一  阅读(478)  评论(0编辑  收藏  举报