新手区 有没有在抓包爬虫 web 自动化测试时为登录验证码烦恼过

YellowFly · 2021年08月13日 · 最后由 lulu 回复于 2021年08月17日 · 3314 次阅读

给大家推荐个 api 接口吧,可以自动识别验证码,识别准确率还是蛮高的,不要再自己写什么图像识别方式了,让你模拟用户快速登录,避免爬虫失败,实现无缝爬虫和 web 自动化。

先放上效果图吧

可以支持各种验证码识别方式,该接口支持各种语言,例如 python

import base64
import json
import requests
# 一、图片文字类型(默认 3 数英混合):
# 1 : 纯数字
# 1001:纯数字2
# 2 : 纯英文
# 1002:纯英文2
# 3 : 数英混合
# 1003:数英混合2
#  4 : 闪动GIF
# 7 : 无感学习(独家)
# 11 : 计算题
# 1005:  快速计算题
# 16 : 汉字
# 32 : 通用文字识别(证件、单据)
# 66:  问答题
# 49 :recaptcha图片识别 参考 https://shimo.im/docs/RPGcTpxdVgkkdQdY
# 二、图片旋转角度类型:
# 29 :  旋转类型
#
# 三、图片坐标点选类型:
# 19 :  1个坐标
# 20 :  3个坐标
# 21 :  3 ~ 5个坐标
# 22 :  5 ~ 8个坐标
# 27 :  1 ~ 4个坐标
# 48 : 轨迹类型
#
# 四、缺口识别
# 18 : 缺口识别(需要2张图 一张目标图一张缺口图)
# 33 : 单缺口识别(返回X轴坐标 只需要1张图)
# 五、拼图识别
# 53:拼图识别
def base64_api(uname, pwd, img, typeid):
    with open(img, 'rb') as f:
        base64_data = base64.b64encode(f.read())
        b64 = base64_data.decode()
    data = {"username": uname, "password": pwd, "typeid": typeid, "image": b64}
    result = json.loads(requests.post("http://api.ttshitu.com/predict", json=data).text)
    if result['success']:
        return result["data"]["result"]
    else:
        return result["message"]
    return ""


if __name__ == "__main__":
    img_path = "C:/Users/Administrator/Desktop/file.jpg"
    result = base64_api(uname='你的账号', pwd='你的密码', img=img_path, typeid=3)
    print(result)

还有更多方式请参考这里

还有更多功能可以实现

经过多次实验来说,效果很不错,在此厚脸皮的向大家推荐一波,我的推荐码 ingeek

共收到 8 条回复 时间 点赞

免费不

你这种都是单一的字符数字, 现在很少有这种验证码了,基本上都会加上一些 干扰 元素在上面, 识别率会大大降低

我用 python 的 muggle_ocr 的包,免费而且识别率挺高,基本能用,样本数据足够还可以机器学习。
基础用法也挺简单,自己可以封装一下,其他用法自己再搜一下。


def identification_verification_code(byte):
    """
    识别验证码图片,输出文字
    :param byte: 图片数据流
    :return: 四位验证码
    """
    # 调用orc识别验证码
    sdk = muggle_ocr.SDK(model_type=muggle_ocr.ModelType.Captcha)
    code = sdk.predict(image_bytes=byte)
    return code

爬虫可以用 cookie 吧,pipline 里面可以开,抓包不清楚,自动化公司项目,可以让开发开个万能验证码,或者暂时屏蔽。

Time 回复

各个网站还是有防爬虫机制的

lulu 回复

请问要不要训练哦,又 get 一个好玩的库,Thanks♪(・ω・) ノ

支持这么多验证码,总有一款适合你

# 一、图片文字类型(默认 3 数英混合):
# 1 : 纯数字
# 1001:纯数字2
# 2 : 纯英文
# 1002:纯英文2
# 3 : 数英混合
# 1003:数英混合2
#  4 : 闪动GIF
# 7 : 无感学习(独家)
# 11 : 计算题
# 1005:  快速计算题
# 16 : 汉字
# 32 : 通用文字识别(证件、单据)
# 66:  问答题
# 49 :recaptcha图片识别 参考 https://shimo.im/docs/RPGcTpxdVgkkdQdY
# 二、图片旋转角度类型:
# 29 :  旋转类型
#
# 三、图片坐标点选类型:
# 19 :  1个坐标
# 20 :  3个坐标
# 21 :  3 ~ 5个坐标
# 22 :  5 ~ 8个坐标
# 27 :  1 ~ 4个坐标
# 48 : 轨迹类型
#
# 四、缺口识别
# 18 : 缺口识别(需要2张图 一张目标图一张缺口图)
# 33 : 单缺口识别(返回X轴坐标 只需要1张图)
# 五、拼图识别
# 53:拼图识别

简单使用可以不用,支持训练,看你自己需求了。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册