爬虫中图片验证码的处理

tesserct-ocr是由Google维护的开源OCR底层识别库,可以把图片上的文字转换成字符串.而pytesseract是对tesseract-ocr做的一层Python API封装.可以用pytesseract来完成对图片验证码的识别.

Ubuntu安装 tesseract-ocr
sudo apt-get install tesseract-ocr
windows安装 tesseract-ocr

1、下载安装包 https://github.com/UB-Mannheim/tesseract/wiki
2、安装之后把文件夹Tesseract-OCR的路径添加到环境变量(Path)

测试

要保存的文件名默认会以.txt为后缀

tesseract xxx.jpg 文件名
安装pytesseract
pip3 install pytesseract
简单使用

网站爬取思路(验证码)
1、获取验证码图片
2、使用PIL库打开图片
3、使用pytesseract将图片中验证码识别并转为字符串
4、将字符串发送到验证码框中或者某个URL地址

import pytesseract
# Python图片处理标准库
from PIL import Image
# 创建图片对象
img = Image.open('test1.jpg')
# 图片转字符串
result = pytesseract.image_to_string(img)
print(result)

注: 可能需要大量的训练来提高识别率
tesseract-ocr识别率很低,文字变形、干扰,导致无法识别验证码,所以有实力的还是对接在线打码平台吧

你可能感兴趣的:(爬虫)