zoukankan      html  css  js  c++  java
  • Python验证码识别

    一、准备工作与代码实例

    1、PIL、pytesser、tesseract

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

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

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

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

    下载解压后直接放C:Python27Libsite-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:Python27Libsite-packagespytesser这个目录下,也就是pytesser这个安装包的文件下,其实不保存在哪个目录下也是可以的,只是要注意些哪个

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

     

            

     

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

     

    下面就是测试的代码:

    1 rom pytesser import *
    2 import os
    3 os.chdir('C:Python27Libsite-packagespytesser')   #就是重新定义脚本下的工作目录;相当于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

  • 相关阅读:
    kafka控制测试发送接收消息
    Kafka 启动报错java.io.IOException: Can't resolve address.
    java问题 2019
    java各种面试问题
    java 架构师
    开源的13个Spring Boot 优秀学习项目!超53K星,一网打尽!
    Dubbo 18 问
    Synchronized用于线程间的数据共享,而ThreadLocal则用于线程间的数据隔离。
    XMind2TestCase 工具,提供了一个高效测试用例设计的解决方案(开源)
    windows下面安装Python和pip终极教程
  • 原文地址:https://www.cnblogs.com/114811yayi/p/5497559.html
Copyright © 2011-2022 走看看