我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python简单验证码识别

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python简单验证码识别

在学习python通过接口自动登录网站时,用户名密码、cookies、headers都好解决但是在碰到验证码这个时就有点棘手了;于是通过网上看贴,看官网完成了对简单验证码的识别,如果是复杂的请看大神的贴这里解决不了;

mg01mg

以上两张为网站的上比较简单的验证码,没有加复杂的干扰线也没有对字体进行弯曲;

识别的代码用到的python模块有pytesseract,PIL;pytesseract在win下需要tesseract-ORC支持,这个需要上网下载安装,并在win的系统环境变量下配置安装路径,运行tesseract –v 显示当前tesseract版本信息表示设置安装正常

 

以下是识别验证码代码:

import pytesseract
from PIL import Image

def getcode(image):
    image = Image.open(image)
    #image.show() #查看打开的验证码
    im = image.convert("L") #把图片转成L单通道,这样像素点的值在[0~255]之前,区别于普通的RGC图片为三通道像素点的值在[0~255,0~255,0~255]

    #把图片的白色边框设置为黑色,如果没有可认忽略这个步骤
    #1.把图片上下两条边框设置为黑色
    for x in range(im.size[0]):
        im.putpixel((x,0),0)
        im.putpixel((x,im.size[1] - 1),0)
    #2.把图片左右两条边框设置为黑色
    for y in range(im.size[1]):
        im.putpixel((0,y),0)
        im.putpixel((im.size[0] - 1,y),0)

    #将图片色像素值在150以上的设置为白色,否则为黑色
    for i in range(im.size[0]):
        for j in range(im.size[1]):
            if(im.getpixel((i,j)) > 150):
                im.putpixel((i,j),255)
            else:
                im.putpixel((i,j),0)

    #im.show() #查看打开的验证码
    #im.save("xxxxxxxxxxxx") #保存图片
    code = pytesseract.image_to_string(im)
    print(code)

if __name__ == '__main__':
    getcode("图片的路径")
运行结果:

res

*注意*如果有边框的图片在处理时没有外理边框,得到的图片如下,在程序识别时就会影响准确度:

mg_new

res01

以下是作者对手机拍的一张图片直接识别和处理后识别的如果

手机图片:

time

直接识别:(我们看到程序无法识别)

rest

用代码处理后识别:

 

rest02

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python简单验证码识别

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python简单验证码识别

在学习python通过接口自动登录网站时,用户名密码、cookies、headers都好解决但是在碰到验证码这个时就有点棘手了;于是通过网上看贴,看官网完成了对简单验证码的识别,如果是复杂的请看大神的贴这里解决不了; 以上两张为网站的上比
2023-01-31

Python做简单的验证码识别(ocr)

1、环境:系统:XPPython版本:2.7.52、所需文件:(1)、pillow地址:https://pypi.python.org/pypi/Pillow/(2)、tesseract地址:https://github.com/tesse
2023-01-31

python ocr简单示例之识别验证码

OCR(Opticalcharacterrecognition,光学字符识别)是一种将图像中的手写字或者印刷文本转换为机器编码文本的技术,下面这篇文章主要给大家介绍了关于python ocr简单示例之识别验证码的相关资料,需要的朋友可以参考下
2023-01-16

Tensorflow简单验证码识别应用

简单的Tensorflow验证码识别应用,供大家参考,具体内容如下 1.Tensorflow的安装方式简单,在此就不赘述了. 2.训练集训练集以及测试及如下(纯手工打造,所以数量不多):3.实现代码部分(参考了网上的一些实现来完成的) ma
2022-06-04

详解Python验证码识别

以前写过一个刷校内网的人气的工具,Java的(以后再也不行Java程序了),里面用到了验证码识别,那段代码不是我自己写的:-) 校内的验证是完全单色没有任何干挠的验证码,识别起来比较容易,不过从那段代码中可以看到基本的验证码识别方式。这几天
2022-06-04

Python网站验证码识别

0x00 识别涉及技术 验证码识别涉及很多方面的内容。入手难度大,但是入手后,可拓展性又非常广泛,可玩性极强,成就感也很足。 验证码图像处理 验证码图像识别技术主要是操作图片内的像素点,通过对图片的像素点进行一系列的操作,最后输出验证码图像
2022-06-04

python 验证码识别库pytesse

笔者环境 centos7 python3pytesseract只是tesseract-ocr的一种实现接口。所以要先安装tesseract-ocr(大名鼎鼎的开源的OCR识别引擎)。 依赖安装yum install-y automake a
2023-01-30

如何使用Python实现极验验证码识别验证码

这篇“如何使用Python实现极验验证码识别验证码”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何使用Python实现极验
2023-07-05

Python验证码识别处理实例

一、准备工作与代码实例 (1)安装PIL:下载后是一个exe,直接双击安装,它会自动安装到C:Python27Libsite-packages中去, (2)pytesser:下载解压后直接放C:Python27Libsite-package
2022-06-04

Python解析最简单的验证码

最近在学python,正好遇到学校需要选宿舍,就用python写了一个抢宿舍的软件。其中有一个模块是用来登陆的,登陆的时候需要输入验证码,不过后来发现了直接可以绕过验证码直接登陆的bug。不过这是另外的话题,开始的时候我并没有发现这个隐藏起
2022-06-04

Python模拟登录验证码(代码简单)

废话不多说了,直接给大家贴代码了。import urllib import urllib2 import cookielib def getImg(picurl): ''' request for random_code picture a
2022-06-04

python验证码识别的实例详解

其实关于验证码识别涉及很多方面的内容,入手难度大,但是入手后,可拓展性又非常广泛,可玩性极强,成就感也很足,对这感兴趣的朋友们下面跟着小编一起来学习学习吧。 依赖sudo apt-get install python-imaging sud
2022-06-04

python入门教程之识别验证码

前言 验证码?我也能破解?关于验证码的介绍就不多说了,各种各样的验证码在人们生活中时不时就会冒出来,身为学生日常接触最多的就是教务处系统的验证码了,比如如下的验证码:识别办法模拟登陆有着复杂的步骤,在这里咱们不管其他操作,只负责根据输入的一
2022-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录