21、关于破解点触的验证码

点触验证码作为反爬手段,可通过深度学习和机器学习技术建立识别模型进行破解,但需要专业设备和团队。另一种解决方案是利用第三方OCR接口。本文以12306自动登录为例,展示登录过程中调用超级鹰API识别验证码的实现步骤。
摘要由CSDN通过智能技术生成

点触验证码是一种常见的反爬手段
解决方案有两种:一种是直接解决,这需要深度学习机器学习等图像处理技术,以大量的数据训练识别模型,最终达到模型足矣识别图片中的文字提示和应该点击的区域之间的对应关系。
这需要非常专业的设备,比如TPU运算,和专业的开发和维护人员。
因此市面上有专业解决此类问题的OCR解决提供商。也就是第二种间接解决的方案,调用第三方接口。

12306自动登录

整体代码文件

其中pw文件下的password存放着需要的超级鹰账号与12306账号

12306_selenium.py

登录的步骤分为

1.找到登录页面2.输入用户名和密码3.获取验证码图片4.超级鹰识别图片5.点击图片验证6.点击登录

重难点:

  1. 超级鹰识别图片,这需要调用超级鹰的代码,并且选择准确类别.图片验证,我们自己做起来比较困难,所以交个超级鹰;
  2. 点击图片验证 使用动作链
import time
from selenium  import   webdriver
from selenium.webdriver import ActionChains

from chaojiying import Chaojiying_Client
from PW.password import P,CP

def input_username_password(username,password):
    username_tag=wd.find_element_by_id("J-userName")
    username_tag.send_keys(username)
    password_tag=wd.find_element_by_id("J-password")
    password_tag.send_keys(password)
def get_captcha():
    captcha_local_path="D:/data_analysis\python_spider/tzAdvanceSpider/9.点触验证码/12306login.png"
    wd.find_element_by_id("J-loginImg").screenshot(captcha_local_path)
    return captcha_local_path

def  picture_recognize(captcha_local_path):

    with open(captcha_local_path,"rb") as  f:
        img=f.read()
    #传给超级鹰识别
    chaojiyingObj=Chaojiying_Client(username="douli666"
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

T o r

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

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

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

打赏作者

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

抵扣说明:

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

余额充值