图形验证码的识别

摘要:
OCR技术:,但它实际上是tesseract的Python API封装,所以它的核心是

OCR 技术:

(1) 在爬虫过程中,难免会遇到各种各样的验证码,而大多数验证码还是罔形验证码,这时候我们可以直接用 OCR 来识别
(2) OCR ,即 Optical Character Recognition ,光学字符识别, 是指通过扫描字符,然后通过其形状将其翻译成电子文本的过程
(3) tesserocr 是 Python 的一个OCR 识别库,但其实是对 tesseract 做的一层 Python API 封装,所以它的核心是 tesseract。因此,在安装 tesserocr 之前,我们需要先安装 tesseract


Windows 下安装 tessorocr:

1. 先安装 tessoract,下载地址:https://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-setup-3.05.01.exe
2. 再安装 tessorocr,使用 pip3 安装即可:pip3 install tesserocr pillow


Linux 下安装 tessorocr:

yum install -y tesseract
git clone https://github.com/tesseract-ocr/tessdata.git
sudo mv tessdata/* /usr/share/tesseract/tessdata
pip3 install tesserocr pillow


Python 识别图片验证码:

图形验证码的识别第1张    图形验证码的识别第2张    图形验证码的识别第3张    图形验证码的识别第4张

import tesserocr
from PIL import Image

image = Image.open('1.png')                 # Opens and identifies the given image file
result = tesserocr.image_to_text(image)     # Recognize OCR text from an image object
print(result)


Python 识别有干扰的图片验证码:

import tesserocr
from PIL import Image

image = Image.open('2.png')

image = image.convert('L')
threshold = 127
table = []
for i in range(256):
    if i < threshold:
        table.append(0)
    else:
        table.append(1)

image = image.point(table, '1')
result = tesserocr.image_to_text(image)
print(result)

图形验证码的识别第5张

     

免责声明:文章转载自《图形验证码的识别》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇如何减小MS SQL Server的Log文件尺寸1,node及npm安装下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

爬虫笔记之w3cschool注册页面滑块验证码破解(巨简单滑块位置识别,非鼠标模拟轨迹)

一、背景介绍 最开始接触验证码破解的时候就是破解的w3cschool的使用手机号找回密码页面的验证码,详见:验证码识别之w3cschool字符图片验证码(easy级别),这次破解一下他们注册页面的滑块验证码,有点忐忑,我这么跟人过不去不会被打吧... 阅读前请知悉:本篇文章只涉及到滑块验证码的滑块位置识别,主要知识集中在图像处理方面,并不涉及到模拟鼠标轨迹...

Tesseract识别图片提取文字&amp;amp;字库训练

文中测试了3.0和4.0两个版本。发现3.0识别效率不准确,需要训练词库。4.0识别效率就比较高了,而且支持结果生成pdf、txt等格式。所以推荐使用4.0版本。 这个工具可以用在爬虫的时候获取验证码进行识别且自动输入验证码的功能。 git地址:https://github.com/tesseract-ocr/tesseract 下载地址:https://...

python实现获取登录验证码图片

  自动化测试登录页面一般都会存在验证码校验问题,大部分童鞋都是直接把验证码校验关闭掉,下面记录的是如何获取验证码图片的方法: 1.首先获取登录页面图片; 2.确定验证码坐标和大小; 3.通过坐标和尺寸在登录页面上截取验证码图片; 4.截取的验证码图片保存为新的文件。 代码实现如下: from selenium import webdriver impor...

java利用Tesseract 识别身份证号码

安装Tesseract  http://blog.csdn.net/hiredme/article/details/50894814 http://blog.csdn.net/yoara/article/details/42392659 http://blog.csdn.net/StruggleRookie/article/details/7160...

opencv4nodejs 在 mac 上的安装

一直报错 RPC, 通过以下办法解决的: brew install git //更新git版本 git config --global http.postBuffer 524288000 //增大git缓存 brew unlink tesseract // 如果没有tesseract可以忽略这个命令 然后执行npm -g install opencv4no...

中国知网(CNKI)验证码识别

中国知网(CNKI)是最重要的中文学术资源数据库,收录绝大多数中文学术刊物。我们可以检索论文,也可以导出检索结果前6000条论文的题录数据。 在CNKI检索结果翻页10次以上,用户需要手动输入验证码才能继续。为了实现自动化题录数据导出,我们就需要通过程序识别验证码。最终,基于Eugu.CV实现验证码识别,正确率在70%以上,能保证自动化导出过程的连贯。 C...