MegaMU个人站

欢迎光临

落日黄沙 白帆秋水 你可知谁的记忆在时空里飞?


字符验证码与破解

目录

概述

字符验证码是网站反爬机制中十分常见的一种 img 通过让用户登陆操作在登陆操作时输入图片中含有的字符来甄别正常用户和爬虫。

识别操作

  1. 人工识别(适用于访问量较小的情景)
  2. 第三方自动操作

使用第三方自动识别

  • 云打码等付费识别
  • 其他的开源模块

看你个人咯,这些付费的往往会用起来更加便捷
这里我使用pillow和pytesseract来实现验证码的识别。

算逑!配置cv2配置了半天都每配置好,我决定使用 ddddocr

ddddocr

DdddOcr接受的参数:

  • 参数 描述
    use_gpu 默认为False,是否使用GPU进行推理
    device_id 默认为0,int cuda设备号,仅支持单张显卡

classification只接受一个参数:

  • 参数 描述
    img 默认为0,图片的bytes格式

我们试着来识别一下验证码吧!

img

import ddddocr
# 实例化对象
ocr = ddddocr.DdddOcr()
# 读取图像的二进制文件
with open('01.png', 'rb') as f:
    img_bytes = f.read()
# 识别验证码
res = ocr.classification(img_bytes)
# 输出验证码
print(res)
2pne
2021-09-05 20:37:50.1681075 [W:onnxruntime:, execution_frame.cc:721 onnxruntime::ExecutionFrame::VerifyOutputSizes] Expected shape from model of {1,19} does not match actual shape of {1,20} for output output

成功了!

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦