验证码识别思路及方法(通用验证码识别)
验证码识别思路及方法(通用验证码识别)import json import requests # 待识别的验证码图片,转化为Base64图片 img = 'iVBORw0KGgoAAAANSUhEUgAAAGQAAAAoBAMAAAD6VkJwAAAAKlBMVEX///9lZf7r6/6ysv6env6Li/54eP7Fxf7Y2P67u/6Ghv58fP6srP6oqP63SmftAAACl0lEQVQ4jd1Uy3KbMBS9FtjSMsIgmLYLOQ97C24eXUIzIVtogtulMY7bJTiZNEtIM2m2/bT Ua/AyTgzHtvddNEzY4Mu5 g JYD/H xoevd3ChJwzn0SistyW0nfLAfH9mN2OOrWO9ztbpTEOfLemPhWuAA05vzTBoXehcE9e2uQE8kcoOmXp /xx/WSjkFSnr4zOnwCGXhDNNGZXCvpjTUr
背景最近在研究验证码图片识别,主要是字母 数字类型的验证码图片,找到了很多方法,但是大多都需要自己去通过深度学习自己训练,而且深度学习代码又看不懂。运气好,找到一个完整的深度学习代码能够去自己训练验证码图片识别,不需要看懂代码,直接拿来用,但是当遇到要识别验证码时,又需要时间去训练,训练出来识别率又不高。机缘巧合下,google到了一个验证码识别神器,而且是无限次数识别的。网址是:www.51learn.vip
这个网站支持的验证码类型也挺多的。
识别类型
另外,百度到【无限打码】
无限打码
证明这个网站做得也不水。
上代码,直接识别验证码尝试识别验证码图片:
验证码
import json
import requests
# 待识别的验证码图片,转化为Base64图片
img = 'iVBORw0KGgoAAAANSUhEUgAAAGQAAAAoBAMAAAD6VkJwAAAAKlBMVEX///9lZf7r6/6ysv6env6Li/54eP7Fxf7Y2P67u/6Ghv58fP6srP6oqP63SmftAAACl0lEQVQ4jd1Uy3KbMBS9FtjSMsIgmLYLOQ97C24eXUIzIVtogtulMY7bJTiZNEtIM2m2/bT Ua/AyTgzHtvddNEzY4Mu5 g JYD/H xoevd3ChJwzn0SistyW0nfLAfH9mN2OOrWO9ztbpTEOfLemPhWuAA05vzTBoXehcE9e2uQE8kcoOmXp /xx/WSjkFSnr4zOnwCGXhDNNGZXCvpjTUrFPOU744g1B3YS87hYLJWUvlUYCB7Q6hkUpS6SNJvkKyVeC4EonmT0ykZ5UDispevolJrXj/jEiDA3/7Mpqahq5C0iR6tkrQFz5AJaeMJwlNZ/HarevsMa7cCLX8Q83NJLKAnKWqnWO4qD5sQcbUqbaQ9pCY1IeCq7aN5O6rKZPFtZf4enJZAvPc28GuJ6wOx2y3kdJ3kinFxLltnBrNUMYbQ948L2VCfpc/YO5uqqbI154ZbabFDVVgxL7Vxr3IL5RDCl1x21N OA1xBqnRjoAdZ1WEHQfmdPx 1LsZd3ykMJs V4wrzDDtwof2uOfXMbgdQ22gcSGLe4cpl/2oVjaSFm/QhZZbWR/QFuS9sQqTXOcQ4KAUX58eTByEpUxivoQMOykrtaOH6VEbS0BiLnKYNSHVCtJlpnx8pVuDWoJZj4E4enTFrDkanfV0Bcwa5ynTJrYm DTOscLp4lNz5G9FElimGroXia8q36U21ngQZ8Csn JV18hhciEDa8miR5UE6uhXtTdVMb5iaEm5tMAW5xhdK3CLYWPYeHsxQ7OJlxe/ylt sYm8wCWG8hXCAOBHLDZcPgtULsML2EzxRJIbsZmPqOeWOngiP0vwtgvNMw8jbCeeSHESy60kLEzsusDkqD7A2yEWze5sOyc1tdya k/wB57of1BlAlUxAAAAAElFTkSuQmCC'
# 接口 全局headers
headers = {
'Content-Type': 'application/json'
}
# 登录验证码识别接口
resp = requests.post('http://51learn.vip:3001/pub/login' data=json.dumps({'username': '账号' 'pwd': '密码'}) headers=headers)
# 登录接口返回
print('#登录接口返回')
print(resp.json())
token = resp.json()['data']['authentication']
print('#token')
print(token)
# 头部加入token
headers['Authorization'] = 'Bearer %s' % token
# 开始验证码图片识别
resp = requests.post('http://51learn.vip:3001/yzm/letter_number/reg' data=json.dumps({'captchaData': img}) headers=headers)
print('#验证码识别接口返回')
print(resp.json())
# 识别结果
print('#识别结果')
print(resp.json()['data'])
运行结果:
#登录接口返回
{'state': 0 'type': 'SUCCESS' 'code': 200 'message': '登录成功' 'data': {'authentication': '855c927a94b14f833dea27bed59b3759'}}
#token
855c927a94b14f833dea27bed59b3759
#验证码识别接口返回
{'state': 0 'type': 'SUCCESS' 'code': 200 'message': '识别成功' 'data': 'qef3q'}
qef3q
转载之:https://blog.csdn.net/marvel__dead/article/details/106670402