首页 > 其他分享 >基于AI模型的验证码安全识别(B站,知乎等)

基于AI模型的验证码安全识别(B站,知乎等)

时间:2023-10-07 09:13:35浏览次数:36  
标签:webdriver 知乎 AI selenium 验证码 import

bilibili 汉字识别顺序验证码

实现基本思路:

   先利用Selenium模拟登录,当然在这之前做好请求伪装,get方法使边框最大化,并且将系统的windows窗口缩放比例设置为100%,不推荐125%,否则可能导致xpath定位不准,使用send_key()方法导入账号密码,隐式等待验证码出现,这里B站可以获取验证码图片的URL,我们可以选择进行下载或者直接利用selenium鼠标头进行截取,之后对图片进行分割处理使之仅保留我们所需的部分,之后建立x-y平面直角坐标系,利用AI模型对其点击顺序及其个数进行识别,得出相应的坐标点,利用ActionChains 依次通过得出的坐标点进行click,定位到确认按钮进行click

这里B站有对应的url可以download,但是对应基于react框架的知乎就没有对应的url

img

img

操作实现过程

我们先导入必要的模块库

import time

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

from PIL import Image
from chaojiying import Chaojiying_Client
from selenium.webdriver.common.action_chains import ActionChains

标签:webdriver,知乎,AI,selenium,验证码,import
From: https://www.cnblogs.com/cwh-top/p/17745448.html

相关文章

  • pn_recognize_fail_3.py
      #!/usr/bin/python3importosimportsysimportreimportpymysqlimporttimeimportloggingimportpandasaspdimportrequestsfromclickhouse_driverimportClient"""统计佛山市市级卡口的港澳过车总数,识别率及格的总数"""if__name__==&#......
  • pn_recognize_fail_YLKK.py
      #!/usr/bin/python3importosimportsysimportreimportpymysqlimporttimefromdatetimeimporttimedeltafromdatetimeimportdatetimeimportloggingimportpandasaspdimportrequestsfromclickhouse_driverimportClient"""统......
  • pn_recognize_fail_SJKK_2.py
      #!/usr/bin/python3importosimportsysimportreimportpymysqlimporttimefromdatetimeimporttimedeltafromdatetimeimportdatetimeimportloggingimportpandasaspdimportrequestsfromclickhouse_driverimportClientfrompathlibimportPath......
  • tcc_pn_recognize_fail.py
      #!/usr/bin/python3importosimportsysimportreimportpymysqlimporttimeimportloggingimportpandasaspdimportrequestsfromclickhouse_driverimportClientfrompathlibimportPath"""统计佛山市停车场的所有卡口的过车总数"""......
  • pn_recognize_fail_SJKK_4.py
      #!/usr/bin/python3importos,statimportsysimportreimportpymysqlimporttimefromdatetimeimporttimedeltafromdatetimeimportdatetimeimportloggingimportpandasaspdimportrequestsfromclickhouse_driverimportClientfrompathlibimport......
  • area_recognize_fail.py
      #!/usr/bin/python3importosimportsysimportreimportpymysqlimporttimeimportloggingimportpandasaspdimportrequestsfromclickhouse_driverimportClientif__name__=='__main__':logging.basicConfig(filename=os.path.dirname......
  • Topaz Video AI:智能重塑视频画质,引领视觉体验升级 Mac+win版
    探索TopazVideoAI如何通过智能技术重塑您的视频画质,全面提升视觉体验。→→↓↓载TopazVideoAImac/win版TopazVideoAI是一款领先的智能视频修复软件,专为提升视频画质而生。通过对AI技术的深度集成,它可以帮助您将老旧、低分辨率的视频进行智能修复和增强,带来焕然一新的视......
  • Exception in thread "main" java.lang.UnsupportedClassVersionError: org/example/J
    问题描述使用hadoop在虚拟机里面运行打包的程序出错:问题解决真的服了,貌似是jdk的版本啥的问题,搜了好多,就是解决不了,求助求助啊!......
  • 【UVA 514】Rails 题解(栈+队列)
    PopPush市有一个著名的火车站。那个里的乡村是令人难以置信的丘陵。车站建于上世纪。不幸的是,当时资金极其有限。有可能仅建立表面轨迹。此外,事实证明,该站可能只是一个死胡同(见图片),由于缺乏可用空间,它只能有一个轨道。当地的传统是,每一列从A方向到达的火车都会继续朝A方向行驶......
  • 2023-10-06 useState数据渲染不同步==》async await
    业务:点击按钮增加数据并渲染出来。框架:antd+ts+react。原来写法:const[tagData,setTagData]=useState<Array<number>>([]);点击事件://添加标签constaddTag=()=>{letarr:(number)[]=[];arr=tagData;arr.push(Math.floor(Math.random()......