失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 爬虫从入门到精通(15) | 使用Python-OCR识别库对图形验证码进行识别

爬虫从入门到精通(15) | 使用Python-OCR识别库对图形验证码进行识别

时间:2023-07-04 01:14:17

相关推荐

爬虫从入门到精通(15) | 使用Python-OCR识别库对图形验证码进行识别

文章目录

一、tesseract破解验证码1.下载安装tesseract2.python安装tesseract模块及其配置3.demo测试 二、muggle_ocr破解和识别验证码1.介绍2.安装3.demo测试 三、其他识别验证码的常用库四、高难度图片验证码

一、tesseract破解验证码

1.下载安装tesseract

①下载地址

下载地址:https://digi.bib.uni-mannheim.de/tesseract/

选择合适的版本安装即可(其中文件名中带有dev的为开发版本,不带dev的为稳定版本,可以选择下载不带dev的版本,例如可以选择下载tesseract-ocr-setup-3.05.02.exe)

②一路next安装即可

我安装在d盘

③配置环境变量

系统变量

path变量

④验证是否安装成功

2.python安装tesseract模块及其配置

①下载安装

pip install pytesseract

②进入pycharm,按两次shift搜索tesseract修改源码

3.demo测试

import pytesseractfrom PIL import Imageimage = Image.open('CheckCode.png')# 把一个彩色图变成灰度图image = image.convert('L')tessdata_dir_config = '--tessdata-dir "D:\\Tesseract-OCR\\tessdata"'# 去除干扰线threshold = 128table = []for i in range(256):if i < threshold:table.append(0)else:table.append(1)image = image.point(table,'1')image_str = pytesseract.image_to_string(image,config=tessdata_dir_config)print(image_str)

二、muggle_ocr破解和识别验证码

1.介绍

在不平凡的一年,6月1日,在pypi仓库中偷偷潜入一位新同学,他就是MuggleOCR,他有多厉害呢?

作为一个本地识别的模块,他的体积居然小于10MB,模型分别有2个。

OCR模型仅为4MB,验证码模型仅为2MB。

2.安装

pip install muggle_ocr -i https://pypi.tuna./simple

3.demo测试

测试图片

demo.py

# 导入包import muggle_ocrdef return_ocr_by_muggle(image_path, mode=1):""":param image_path 待测试的文件名称 最好绝对路径:param mode = 1 默认 即 ModelType.Captcha 表示识别4-6位简单英输验证码其他情况 即 ModelType.OCR 表示识别普通印刷文本官方网站: /project/muggle-ocr/:return: 返回这个验证码的识别结果 如果错误 可以多次调用"""# 确定识别物品if mode == 1:sdk = muggle_ocr.SDK(model_type=muggle_ocr.ModelType.Captcha)else:sdk = muggle_ocr.SDK(model_type=muggle_ocr.ModelType.OCR)with open(image_path, 'rb') as fr:captcha_bytes = fr.read()result = sdk.predict(image_bytes=captcha_bytes)return result.strip()if __name__ == '__main__':image_path = 'timg.jpg'result = return_ocr_by_muggle(image_path)print(result)

三、其他识别验证码的常用库

参考这篇文章:/qq_38017966/article/details/118724459

四、高难度图片验证码

针对于难度过高的验证码识别,我们推荐使用打码网站的付费接口

如果觉得《爬虫从入门到精通(15) | 使用Python-OCR识别库对图形验证码进行识别》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。