python模拟登录注册知网

1.验证码类型

知网注册页的验证码类型属于常见四位英文和数字组成的验证码。可以在超级鹰的 验证码类型于价格表 页面参考。

2.Python识别库 - tesserocr、pytesseract

这两个第三方库识别精度均较差, 字体略微差异可能就不是正常结果。所以选择超级鹰识别,识别前可做灰度、二值化处理(我这里做了注释选择不用,感觉平台打码精度挺高的),代码如下:

'''
想要学习Python?Python学习交流群:984632579满足你的需求,资料都已经上传群文件,可以自行下载!
'''
def handle_code(image):
    """
    处理验证码
    :param image: Image对象
    :return:
    """
    # 灰度处理
    image = image.convert("L")
    # 阈值120(可灵活配置)
    threshold = 120
    table = []
    for i in range(256):    #
        if i < threshold:
            table.append(0)
        else:
            table.append(1)
    # 二值化处理
    image = image.point(table, '1')
    # 使用tesserocr获取处理结果
    result_1 = tesserocr.image_to_text(image).strip()
    # 使用pytesseract获取处理结果
    result_2 = pytesseract.image_to_string(image).strip()   
    # print('验证码为:', result)
    # 两者识别结果相同再继续程序,否则循环识别。但是代价很大,所以弃用。
    return result_1, result_2

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值