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