基于YesCaptcha及DdddOCR实现免费浏览器自动验证码识别输入

YesCaptcha 人机助手

YesCaptcha人机助手是一个浏览器插件,其主要功能是自动识别和填写验证码。这款插件可协助有需要的人群(如残障人士)进行操作,支持的验证码类型包括reCaptcha、hCaptcha、funcaptcha以及英文数字验证码等。

在这里插入图片描述

DdddOCR 一个容易使用的通用验证码识别python库

DdddOcr 带带弟弟OCR通用验证码离线本地识别SDK免费开源版
DdddOcr,其由作者与kerlomz共同合作完成,通过大批量生成随机数据后进行深度网络训练,本身并非针对任何一家验证码厂商而制作,使用效果完全靠玄学,可能可以识别,可能不能识别。
DdddOcr、最简依赖的理念,尽量减少用户的配置和使用成本,希望给每一位测试者带来舒适的体验
项目地址: 点我传送
一个容易使用的通用验证码识别python库

项目简介

使用YesCaptcha插件必须配合官方的API使用,虽然插件本身是免费的,但验证码识别接口的功能却是必须收费的。好在官方在接口的购买网站给出了接口文档等内容,我们可以另辟蹊径,根据给出的api文档、结合ddddOCR进行简单的逆向开发,写一个简单的验证码识别接口
在这里插入图片描述

服务器代码部分

server.py

from flask import Flask, request, jsonify
from urllib.parse import unquote
import ddddocr
import base64
import json
import uuid

app = Flask(__name__)

# 实例化OCR类
ocr = ddddocr.DdddOcr()

@app.route('/createTask', methods=['POST'])
def recognize_captcha():
    # 生成任务ID
    task_id = str(uuid.uuid4())

    try:
        # 获取请求中的验证码图片数据
        image_data = json.loads(unquote(request.get_data()))
        image_data = image_data['task']['body'].replace('data:image/png;base64,', '')
        if not image_data:
            return jsonify({'errorId': 1, 'errorCode': 'NO_DATA', 'status': 'error', 'taskId': task_id}), 400

        # 将图片数据解码成OCR可以处理的格式
        decoded_bytes = base64.b64decode(image_data)
        result = ocr.classification(decoded_bytes)
        print(result)

        # 返回识别结果
        return jsonify({
            'errorId': 0,
            'errorCode': '',
            'status': 'ready',
            'solution': {'text': result},
            'taskId': task_id
        }), 200

    except Exception as e:
        # 返回错误信息
        return jsonify({
            'errorId': 2,
            'errorCode': str(e),
            'status': 'error',
            'solution': {},
            'taskId': task_id
        }), 500

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000, debug=False)

在服务器上运行改Flask程序启动api服务:
python3 server.py
在浏览器插件设置页面配置api服务器信息:
在这里插入图片描述

使用方法

  1. 在验证码上右击,选择标记为验证码
  2. 在输入框右击,选择YesCaptcha>输入验证码即可
  3. 步骤1、2不区分先后顺序
    在这里插入图片描述
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值