在进行网络爬取数据时会经常遇到一些验证码挡路,一个可以识别一些简单的数组+字母验证码接口,进入正题:
*接口地址:http://api.yunshuck.com/api/captcha/simple-captcha
*
如果识别成功率低,可以私信,进一步改善识别接口
如有疑问 请访问http://www.yunshuck.com/home/
请求方式:post
Bady:类型 json
返回类型: json
请求参数 Header
名称 | 值 |
---|---|
appKey | appKey 值 |
appSecret | appSecret值 |
Content-Type | application/json |
请求参数(Body)
名称 | 值 |
---|---|
urlimg | 验证码图片 base64加密字符串: |
num | 验证码长度 |
type | 验证码类型 |
url | 验证码获取地址 urlencode编码 |
type:603 数字加字母组合验证码
type:601 数字验证码
type:604 数字计算验证码
访问样例:
curl -i -X POST ‘http://api.yunshuck.com/api/captcha/simple-captcha’ -H ‘Content-Type:application/json’ --data ‘{“urlimg”: + urlimg + ", “num”: 4, “type”: "603”,”url”:”http://xxxxx”}’
bady 样例 :
{“urlimg”: “data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAoCAYAAAAIeF9DAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAABP9JREFUaEPtWjtyGzEMlWu1atSkc6PC59gzuErjXCBbZiZJncqVG5VW7Sq1GvsGKVzqAL4DA3DJXfAPkrurtUac0XjG4gd8Dw8AYd8IGKsJx83vm5X4Of4RU+07IRS8rZGQSx+H3Q697lNc83NYuVAoJdGhUegADiGr1Z/+iNWvK19j+gIHzyviYyLe5eOqHetWVx19XexD4PyEHMY3odZLz+kq46Nxztt4zsa4bUcRTiwPXqPCgTjnXiQhcyokWmkxnZM6TE9IX13Bt2McwrTlOs1C”, “num”: 4, “type”: “603”,”url”:”http://xxxxx”}
返回示例:
{
‘msg’: ‘成功’,
‘errCode’: 1,
‘v_code’: ‘za8p’,
‘v_type’: ‘603’,
‘imgid’: 1619528506.7568173,
‘captcha_type’: ‘universally’
}
错误码 错误信息 描述
0 成功! 成功!
302 参数错误! 参数错误!
上面是使用文档
这是我测试的代码
response = requests.get("https://XXXXXXX")
str_d="cap.chinaunicom.cn"
img = response.content
imgwrite = response.content
imgsave = img
headers['Content-Type'] = 'application/json'
headers['appKey'] = '8961d10c-aa79-11eb-942c-7429af540200'
headers['appSecret'] = 'baec542e97c499f75c419ea935079d00'
img = bytes.decode(base64.b64encode(img))
urlimg = "data:image/jpeg;base64," + img
url = ''http://101.201.223.138:9188/api/captcha/simple-captcha'
data = "{\"urlimg\": \"" + urlimg + "\", \"num\": 4, \"type\": \"603\",\"yzmurl\": \"" + url + "\"}"
headers['Content-Type'] = 'application/json'
r = requests.post(url=url, headers=headers,
data=data)
v_code_json = json.loads(r.text)
str1 = str(v_code_json['v_code']).lower()`
测试效果还可以 正确率在90%左右
有疑问可添加QQ联系交流:38199288