当前位置:首页 > 开发 > 编程语言 > Python > 正文

python 获取图片验证码中文字

发表于: 2012-05-30   作者:酷的飞上天空   来源:转载   浏览:
摘要: 根据现成的开源项目 http://code.google.com/p/pytesser/改写 在window上用easy_install安装不上  看了下源码发现代码很少  于是就想自己改写一下   添加支持网络图片的直接解析   #coding:utf-8 #import sys #reload(sys) #sys.s

根据现成的开源项目 http://code.google.com/p/pytesser/改写

在window上用easy_install安装不上  看了下源码发现代码很少  于是就想自己改写一下

 

添加支持网络图片的直接解析

 

#coding:utf-8 
#import sys 
#reload(sys) 
#sys.setdefaultencoding('utf-8')
import subprocess,urllib2,tempfile
import os,time

tesseract_exe_name = 'tesseract' # Name of executable to be called at command line
temp_dir_name = tempfile.gettempdir() # Name of executable to be called at command line

def call_tesseract(input_filename, output_filename):
    args = [tesseract_exe_name, input_filename, output_filename]
    proc = subprocess.Popen(args)
    retcode = proc.wait()
        
def image_file_to_string(filename):
    image_file_path = filename
    text_file_path = '%s%s%sout' %(temp_dir_name,os.path.sep,time.time())
    try:
        call_tesseract(image_file_path,text_file_path);
        text = file(text_file_path+'.txt').read()
        if text.find("Error") != -1:
            text = None
        return text
    finally:
        if(os.path.exists(text_file_path+'.txt')):
            os.remove(text_file_path+'.txt')

def image_url_to_string(url):
    image_file_path = '%s%s%sin' %(temp_dir_name,os.path.sep,time.time())
    try:
        urlinfo = urllib2.urlopen(url, None,3);
        if not urlinfo.headers['Content-Type'].startswith('image'):
            return None
        f = open(image_file_path,'wb')
        f.write(urlinfo.read())
        f.close()
        return image_file_to_string(image_file_path);
    finally:
        if(os.path.exists(image_file_path)):
            os.remove(image_file_path);
            
print image_file_to_string('D:\\pytesser_v0.0.1\\fonts_test.png')
 

python 获取图片验证码中文字

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
有时候我们需要获得网页上的图片,尤其是向验证码这样的图片.这个方法就是将网页上的图片获取到Pictu
最近发现python的爬虫比较容易实现,我是python零基础,就疯狂的搜索资料,实现一下简单的爬虫,首
常常我们会看到一张图片,右边配一段话的这种布局:形如下图: 可以通过css样式实现,全部代码如下图
一、对于复杂背景中的文本提取 我测试用的简单的单行文本,如果非文本区多对二值化影响大,首先进行
常常我们会看到一张图片,右边配一段话的这种布局:形如下图: 可以通过css样式实现,全部代码如下图
图片验证码,就是首先造一张空白的图,然后在图片上绘制随机数就可以了,在这里用到了一般处理程序
1、使用仿制图章工具去除文字。 这是比较常用的方法。具体的操作是,选取仿制图章工具,按住Alt键,
唉 很辛苦啊 花费了我 一下午的时间 来写图片验证码,总算是小有功效 。 嘿嘿 废话少说,先看效果!
java 通过 JNI 调用开源的OCR 来识别验证码, 这样不要通过调用exe 生成临时文件来获得验证码 //演
/** * 验证码类,用于产生各种验证码 */ class captcha{ /** * 生成验证码 * @param int $length 码
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号