1、手动输入(input)

仅限于输入一次就可持续使用的情况

2、图像识别引擎解析(不推荐)

使用光学识别引擎处理图片中的数据,目前常用于图片数据提取,较少用于验证码处理

(1)什么是图片识别引擎?

图片识别引擎:OCR(Optical Character Recognition)是指使用扫描仪或数码相机对文本资料进行扫描成图像文件,然后对图像文件进行分析处理,自动识别获取文字信息及版面信息的软件。

(2)Tesseract OCR

Tesseract:一款由HP实验室开发,由Google维护的开源OCR引擎,特点是开源,免费,支持多语言,多平台。
github项目地址:https://github.com/tesseract-ocr/tesseract
最新官方文档地址:https://tesseract-ocr.github.io/

1
2
brew install --with-training-tools tesseract
sudo apt-get install tesseract-ocr
  • Python库的安装
1
2
3
4
5
# Pillow模块:打开图片文件
pip/pip3 install pillow

# pytesseract模块:从图片中解析数据
pip/pip3 install pytesseract
  • 图片识别引擎的使用
1
2
3
4
5
6
7
8
from pillow import Image
import pytesseract

im = Image.open('图片文件路径')

result = pytesseract.image_to_string(im)

print(result)

3、打码平台(推荐)

分免费和收费的,由于打码平台较多,且有些不太稳定,所以就不一一列举了,可自行查找&尝试

4、常见验证码的种类

(1)url地址不变,验证码不变

识别技巧:只需要获取验证码的地址,然后通过打码平台识别即可

(2)url地址不变,验证码变化

实现方式:通过cookie来实现
识别技巧:提交验证码的到时候保证cookie的一致性,对此可使用requests.session来解决