Python selenium库学习使用实操三

系列文章目录

Python selenium库学习使用实操
Python selenium库学习使用实操二


前言

国庆回来,接着搬砖,上回说到使用selenium进行自动登录和简单表单的自动填写,由于短时间内多次登录,触发了系统的图像验证码机制,不得不迫使我去学习下验证码识别了。


一、文字验证码保存

平台使用了文字验证码,看了下dom结构,发现是base64的图片,先将base64图片转换成文件。
我们可以看到一个标准的图片转成的base64:base64_str="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA********
需要注意的是,如果我们使用python的imgdata = base64.b64decode(image_base64)解码,image_base64是不包含base64_str的头部的,即从iVBOR***开始才是编码内容,所以正确的解码代码如下

def save_base64_image(image_base64, file_path):
    # 看看image_base64类型是不是正确的“bytes”类型
    print(type(image_base64))  
    # 解码图片
    head,context=image_base64.split(",")  # 将base64_str以“,”分割为两部分
    img_data = base64.b64decode(context)    # 解码时只要内容部分
    #将图片保存为文件
    with open("temp.jpg",'wb') as f:
        f.write(img_data)

二、验证码识别

1.引入库

该库名也是非常有趣 —— ddddocr(谐音带带弟弟OCR),Github地址:https://github.com/sml2h3/ddddocr

pip install ddddocr

2.验证码识别

def do_OCR(img_path):
    ocr = ddddocr.DdddOcr()
    with open(img_path, 'rb') as f:
        img_bytes = f.read()
    res = ocr.classification(img_bytes) 
    print(res)
    return res   

总结

`
以上就是文字验证码图像识别的简单操作。接着研究下拉选择框的使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xs_2012

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值