算术图片验证码(四则运算)+selenium

一、表达式解析

这里假设已经识别出来表达式,如何识别验证码图片里的表达式,放在下面讲。涉及到的正则表达式的解析放在本篇文章最后面。


import re
# 表达式解析(支持小数的 +-*/ 和中文运算符)
def parse_math_expression(text):
    # 替换中文运算符为英文
    text = text.replace('加', '+').replace('减', '-').replace('乘', '*').replace('除', '/')
    text = text.replace('x', '*').replace('X', '*').replace('÷', '/')

    # 正则表达式提取表达式中的数字和运算符
    # match = re.search(r'(\d+)\s*([+\-*/]|加|减|乘|除)\s*(\d+)', text)
    match = re.search(r'(\d+(?:\.\d+)?)\s*([+\-*/]|加|减|乘|除)\s*(\d+(?:\.\d+)?)', text) # 可匹配小数
    if not match:
        return None

    num1, operator, num2 = match.groups()
    try:
        num1 = float(num1)
        num2 = float(num2)

        # 计算结果
        if operator == '+':
            result = num1 + num2
        elif operator == '-':
            result = num1 - num2
        elif operator == '*'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值