如何用Python编写程序进行验证码识别?
- 内容介绍
- 文章标签
- 相关推荐
本文共计4692个文字,预计阅读时间需要19分钟。
大至介绍+在Python爬虫中,爬取某些网站时可能会遇到验证码识别问题。现在的验证码主要分为四大类:1. 计算机验证书;2. 滑块验证码;3. 识图验证码;4. 语音验证码。本博客主针对这些验证码类型进行了解和分析。
大致介绍
在python爬虫爬取某些网站的验证码的时候可能会遇到验证码识别的问题,现在的验证码大多分为四类:
1、计算验证码
2、滑块验证码
3、识图验证码
4、语音验证码
这篇博客主要写的就是识图验证码,识别的是简单的验证码,要想让识别率更高,识别的更加准确就需要花很多的精力去训练自己的字体库。
识别验证码通常是这几个步骤:
1、灰度处理
2、二值化
3、去除边框(如果有的话)
4、降噪
5、切割字符或者倾斜度矫正
6、训练字体库
7、识别
这6个步骤中前三个步骤是基本的,4或者5可根据实际情况选择是否需要,并不一定切割验证码,识别率就会上升很多有时候还会下降
这篇博客不涉及训练字体库的内容,请自行搜索。同样也不讲解基础的语法。
用到的几个主要的python库: Pillow(python图像处理库)、OpenCV(高级图像处理库)、pytesseract(识别库)
灰度处理&二值化
灰度处理,就是把彩色的验证码图片转为灰色的图片。
本文共计4692个文字,预计阅读时间需要19分钟。
大至介绍+在Python爬虫中,爬取某些网站时可能会遇到验证码识别问题。现在的验证码主要分为四大类:1. 计算机验证书;2. 滑块验证码;3. 识图验证码;4. 语音验证码。本博客主针对这些验证码类型进行了解和分析。
大致介绍
在python爬虫爬取某些网站的验证码的时候可能会遇到验证码识别的问题,现在的验证码大多分为四类:
1、计算验证码
2、滑块验证码
3、识图验证码
4、语音验证码
这篇博客主要写的就是识图验证码,识别的是简单的验证码,要想让识别率更高,识别的更加准确就需要花很多的精力去训练自己的字体库。
识别验证码通常是这几个步骤:
1、灰度处理
2、二值化
3、去除边框(如果有的话)
4、降噪
5、切割字符或者倾斜度矫正
6、训练字体库
7、识别
这6个步骤中前三个步骤是基本的,4或者5可根据实际情况选择是否需要,并不一定切割验证码,识别率就会上升很多有时候还会下降
这篇博客不涉及训练字体库的内容,请自行搜索。同样也不讲解基础的语法。
用到的几个主要的python库: Pillow(python图像处理库)、OpenCV(高级图像处理库)、pytesseract(识别库)
灰度处理&二值化
灰度处理,就是把彩色的验证码图片转为灰色的图片。

