每日分享:
释怀
后来,我决定不再纠结一些事情,那些曾经日思夜想的人,和始终没有谈的问题突然就释怀了。我用执念烧死了所有的幼稚和任性,那片荒野慢慢长出了理智、冷漠和清醒。
生活中没有过不去的坎,生命里没有离不开的人,时间不一定能治愈你,但会在特定的时间里,让你告别曾经的自己。
目标:
- 了解验证码的相关知识
- 掌握图片识别引擎的使用
一、图片验证码
1.1 什么是图片验证码
- 验证码是“全自动区分计算机和人类的图灵测试”的缩写,是一种区分用户是计算机还是人的公共全自动程序
1.2 验证码的作用
- 防止恶意破解密码、刷票、论坛灌水、刷页
1.3 图片验证码在爬虫中的使用场景
- 注册
- 登录
- 频繁发送请求时,服务器弹出验证码进行验证
1.4 图片验证码的处理方案
- 手动输入:这种方法仅限于登录一次就可持续使用的情况
- 图像识别引擎解析:使用光学识别引擎处理图片中的数据,目前常用于图片数据提取,较少用于验证码处理
- 打码平台 :爬虫常用的验证码解决方案
二、图片识别引擎(tesseract的安装)
OCR(Optical Character Recognition)是指使用扫描仪或数码相机对文本资料进行扫描成图像文件,然后对图像文件进行分析处理,自动识别获取文字信息及版面信息的软件
2.1 什么是tesseract
- Tesseract,一款由HP实验室开发由Google维护的开源OCR引擎,特点是开源,免费,支持多语言,多平台。
2.2 图片识别引擎环境的安装(win10)
就这安装配置环境花了我很多时间!
开始我没有直接用python代码测试,而是一直在pycharm的终端进行使用测试,代码:
tesseract 图片路径 保存文本的名字
发现一直报错,要么说什么tessdata环境未配置、要么说什么文件找不到、要么说什么缺像素什么是0,让用70等等,就解决一个问题又出来一个问题,一大坨问题,最后还是放弃了。反正这个在终端使用的这个方法不怎么使用。
1. 引擎的安装
- mac环境下直接执行命令
brew install –with-training-tools tesseract
- windows环境下的安装
- 下载exe,通过exe安装包安装(如果5.0版本不是太落后建议通过网盘提取,因为下载实在是太慢了)
1.百度网盘提取(我下的是tesseract-ocr-w64-setup-v5.0.0.20190623.exe)http://链接:https://pan.baidu.com/s/1By5aQjMxUSz_9wDLMfG4Qw 提取码:ezo1
2.点击进入网址,后进行下载
如下图,带有dev的为开发版本,没有的为稳定版本,我们可以选一个稳定版本来下载。
2.下载完之后,双击exe文件,按顺序点就行,到后面有一个让你勾选需要下载东西的,除了它自动勾选的,我勾选了语言包(勾选之后就1G多了)。(安装过程中,它会一直弹出框让你点击ok以继续安装,我点完之后,它就又弹出,就一直弹一直点,不点就不安装,咱也不知道为什么,咱也也不敢问,咱也不敢说)
3. 之后就需要配置环境变量了(按顺序点就行,需要添加的路径是你安装完成之后exe文章的目录,不是安装前那个exe的目录) ,完事之后记得点确定啊!
- linux环境下的安装
sudo apt-get install tesseract-ocr
2. 验证自己是否安装成功
win+r 输入 cmd ,后输入 tesseract -v 之后会出现版本信息,证明成功:
3. python库的安装
# PIL用于打开图片文件
pip/pip3 install pillow
# pytesseract模块用于从图片中解析数据
pip/pip3 install pytesseract
到这儿,算是完成了。我们用python代码来用一用:
4. python代码试用tesseract
测试图片如下:
测试代码:
from PIL import Image import pytesseract img = Image.open('test.png') result = pytesseract.image_to_string(img) print(result)
测试结果:
识别准确率还行,部分识别未成功,准确率可以通过后续的训练来提高(提高看下面)。
2.3 图片识别引擎的使用扩展
- tesseract简单使用与训练
- 其他ocr平台(这两个对中文识别要好一点)
阿里云图文识别:https://www.aliyun.com/product/cdi/
腾讯OCR文字识别:https://cloud.tencent.com/product/ocr
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试