python+selenium+百度OCR 验证码识别登录

绕过Selenium检测!用Python+Chrome调试模式批量保存百度网盘分享链接(附验证码处理) 本文详细介绍了如何利用Python和Chrome调试模式绕过Selenium检测,实现百度网盘分享链接的批量保存与验证码处理。通过实战案例和代码示例,帮助开发者高效自动化处理云端资源,提升工作效率。 阅读详情

百度OCR申请:
先申请一个百度账号,然后搜索百度智能云,登录进入
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
创建完成后会获得一个AppID,APIKey,Secret Key,等下会用到。在这里插入图片描述
接下来开始编写代码,在这之前,要安装好python3,selenium,baidu-aip(安装自行百度)
我们首先写一个百度OCR的类,第一步,导入我们需要的安装包

from os import path
from aip import AipOcr

类代码:

class BaiduOCR:
    def __init__(self, picfile):
        self.picfile = picfile

    def baiduOCR(self):
        """利用百度api识别文本,并保存提取的文字
        picfile:    图片文件名
        """
        filename = path.basename(self.picfile)
        # 你的AppID,APIKey,Secret Key
        APP_ID = '1852****'
        API_KEY = 'b5jRwiOvBFmyeTD******'
        SECRECT_KEY = '0UYTZDzFCcd2WExctrbHMxM***********'
        client = AipOcr(APP_ID, API_KEY, SECRECT_KEY)

        i = open(self.picfile, 'rb')
        img = i.read()
        print("正在识别图片:\t" + filename)
      	# basicGeneral : 通用文字识别
		# basicAccurate : 通用文字识别(高精度版)
		# general : 通用文字识别(含位置信息版)
		# accurate : 通用文字识别(含位置高精度版)
		# enhancedGeneral : 通用文字识别(含生僻字版)
		# webImage : 网络图片文字识别
		# 还有更多参数可选,具体详情可自查Api文档
        message = client.webImage(img)  # 网络文字识别,每天 50 000 次免费
        # message = client.basicAccurate(img)   # 通用文字高精度识别,每天 800 次免费
        # 打印信息可注释掉,此处是为了调试
        print("识别成功!")
        i.close()
        print(message)
        return message['words_result'][0]['words']

接下来就是登陆网站了

from PIL import Image, ImageEnhance
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from lib.baiduOcr import BaiduOCR
import time


def OpenChorme(url):
    chorm_drive = r'E:\python\chromedriver.exe' # 此处是我chormedriver放的位置
    driver = webdriver.Chrome(executable_path=chorm_drive)
    driver.get(url) # url你选择要打开的网址
    return driver


# 显示等待,相关可以百度
# 通过给定的locator定位到相应的标签
def find_element(locator, driver, timeout=10):
    element = WebDriverWait(driver, timeout, 1).until(lambda x: x.find_element(*locator))
    return element


# 打开网址后,通过selenium可截取当前浏览器屏幕,然后通过ps等工具找到
# 验证码所在图中的坐标位置,location参数为验证的坐标位置(x1,y1,x2,y2)
# x1,y1为坐上角的坐标点,x2,y2为右下角的坐标点
def get_code(driver, location):
    path1 = '../Resource/Image/before.png'
    path2 = '../Resource/Image/after.png'
    # 截取当前浏览器屏幕的图片保存在path1中
    driver.save_screenshot(path1)
    # 通过一系列图片处理
    image = Image.open(path1)
    image = image.crop(location)
    image = image.convert('L')
    image = ImageEnhance.Contrast(image)
    image = image.enhance(2.0)
    width = image.size[0]  # 获取宽度
    height = image.size[1]  # 获取高度
    image = image.resize((int(width * 0.5), int(height * 0.5)), Image.ANTIALIAS)
    # 将处理的图片保存在path2中
    image.save(path2)
    # 通过调用OCR的类识别图片中的验证码,并返回该验证码
    verifycode = BaiduOCR(path2).baiduOCR()
    return verifycode


# 登录步骤程序
def Login(driver, uid, pwd, verifycode):
	# 用户名输入框标签的id为username
    locator = ('id', 'username')
    # 调用方法定位用户名输入标签,并输入用户名:uid
    find_element(locator, driver).send_keys(uid)
    # 密码输入框标签的id为pwd
    locator = ('id', 'pwd')
    # 调用方法定位密码输入标签,并输入密码:pwd
    find_element(locator, driver).send_keys(pwd)
    # 验证码输入框标签的id为verifyCode
    locator = ('id', 'verifyCode')
    # 调用方法定位验证码输入标签,并输入验证码:verifyCode
    find_element(locator, driver).send_keys(verifycode)
    # 提交按钮的id为subBtn
    locator = ('id', 'subBtn')
    # 调用方法定位提交按钮标签,并模拟鼠标点击动作
    find_element(locator, driver).click()


# 验证码OCR识别错误重新识别并输入验证码
# OCR有一定概率识别出来错误的验证码,这里没有做别的处理,
# 只是将错误的验证码清除,然后重新输入,在点击提交按钮
def verifycode_fail(driver, location):
	# 调用get_code方法得到验证码
    verifycode = get_code(driver, location)
    driver.implicitly_wait(10)
    locator = ('id', 'verifyCode')
    getcode = find_element(locator, driver)
    getcode.clear()
    getcode.send_keys(verifycode)
    time.sleep(1)
    locator = ('id', 'subBtn')
    find_element(locator, driver).click()


# 登录方法
def Login_succ(driver, uid, pwd, location):
	# 获取验证码
    verifycode = get_code(driver, location)
    # 登录:输入账户,密码,验证码
    Login(driver, uid, pwd, verifycode)
    time.sleep(2)
    # 等待俩秒后,我们获取当前页面的Url,根据当前页面的Url来判断是否登录成功
    url = driver.current_url
    # 在此处,我们登录页面的Url和登录成功的Url是不相同的,因此被我用来作为判断依据
    # 我们还可以用其他的条件来做判断依据,只要登录之前与登录成功的差异点应该都能作为一条依据
    while url != 'http://***.***.***/?r=information':
        # driver.find_element_by_xpath("//*[@id='yw0']").click()
        # 如果点击登录后没有跳转到之后的页面,在账号和密码输入正确的
        # 条件下,那么应该很有可能验证码输入错误,因此调用验证码登录
        # 失败的方法,知道验证码输入正确,此处不一定适用于所有使用者
        # 只提供一种思路
        verifycode_fail(driver, location)
        time.sleep(2)
        url = driver.current_url
        print(url)
    # 当跳转到登录成功的页面后,判断是否存在指定的元素
    # 我们此处是有“欢迎”在页面显示
    if "欢迎:" in driver.find_element_by_xpath("//*[@id='header']/td/span[2]").text:
        return True
    else:
        print(driver.current_url)
        return False


if __name__ == '__main__':
    driver = OpenChorme('http://***.***.***/index.php?r=matche')
    # 此处是用ps算得的验证码在截图中的位置
    local = (656, 346, 765, 385)
    Login_succ(driver,'admin','admin',local)
    time.sleep(5)
    driver.close()

在这里插入图片描述
运行程序:
在这里插入图片描述在这里插入图片描述
如果验证码比较复杂,可以更改识别算法。

python自动化实现登录获取图片验证码功能 主要介绍了python自动化实现登录获取图片验证码功能,本文通过实例截图的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 立即下载

相关推荐

4路QSFP28接口能玩出什么花样?基于璞致VU13P开发板的100G网络测试方案

本文详细介绍了基于璞致PZ-VU13P-KFB开发板构建100G网络测试方案的实战指南。该方案充分利用板载Xilinx Virtex UltraScale+ FPGA的强大算力与4路QSFP28接口,涵盖从光模块选型、Aurora协议配置、开源Corundum方案部署,到误码率测试及散热优化的全链路流程,为高速网络设备研发与验证提供了可靠的硬件平台。

cola5的博客 454

python3-selenium登陆验证码,文字识别-百度AI SDK

先看看识别的效果,使用起来很方便,直接引用第三方库就搞定:试用了一下,像图片这种验证码,成功率大约80%左右,返回结果,有时候会是空,或者识别错误的 所以,在实际操作中,还是需要写个方法,遇到失败需要重新截图识别的 1、安装 pip install baidu-aip 2、注册百度AI账户 可自行百度,或链接:百度AI-网络图片识别 注册成功后,需要创建应用,本文创建的应用是:文字识别 然后从应用中获取:APP_ID,API_KEY ,SECRET_KEY 3、编写脚本 from selenium i

choy_cc的博客 527

ADS 使用调整器动态调参教程(Tuning)

ADS动态调参教程

weixin_42845306的博客 1万+

python使用百度AipOCR来实现图像文字识别

python使用百度AipOCR来实现图像文字识别

kxltsuperr的专栏 2906

IPD的分析工具与模型(十六)CBB公用基础模块管理实现资源共享,缩短开发周期降低成本

CBB流程的开发环节,基于CBB规划中所识别和设计的CBB,进行CBB的详细设计(包括参数设计和接口设计),并最终实现CBB的落地开发。作为特殊类型的技术构件,CBB的开发流程,可沿用技术开发中的构件开发流程,具体包括概念、计划、开发和迁移等步骤,具体可参见前文的相关介绍。有了蓝图与架构设计,落地实施是关键攻坚。具体工作内容包括:具体工作内容包括:a. 以相似性、聚类、相对独行性、可组合、可扩展性、可维护性等原则为指导,按照产品的功能特征和业务类型,聚焦零散的功能点,形成功能模块,实现产品功能模块的划分;

Easyways1的博客 1378

FastH3 + vLLM-Omni:MiniMax H3 视频生成本地部署与加速实战

随着多模态大模型在视频生成领域的普及,如何高效部署和加速推理成为工程实践的关键。vLLM作为高性能推理框架,通过PagedAttention和continuous batching显著优化了大模型吞吐;而FastH3则针对特定模型结构进行算子融合和CUDA优化。结合vLLM-Omni对多模态输入的支持,可以将MiniMax H3的视频生成耗时从分钟级压缩至秒级。本文以视频生成模型为例,详细拆解环境配置、推理优化与问题排查,为多模态模型本地部署提供参考。

ciya3282的博客 483

selenium python 简单示例,实现后台登录

  #!/bin/python #__author__=lixiaojie #test for buyao_music select user import time from selenium import webdriver from selenium.webdriver.common.keys import Keys open_browser = webdriver.Chrome()...

lixj_qi的博客 976

vllm运行过程中出现cuda out of memory

将长序列分解为多个小块,每个块分别处理。这样可以减少单次 Prefill 的计算量和显存占用,从而优化 TTFT 和显存使用效率。考虑使用 CPU 卸载(如 --cpu-offload-gb),将部分缓存卸载到 CPU 内存中,扩展 GPU 的虚拟内存。在大语言模型中,当输入序列很长(例如超过 1024 个 Token)时,Prefill 阶段的计算量会非常大。最后增加了enable-chunked-prefill参数和max_num_batched_tokens解决了问题。参数来进一步优化性能。

盛世芳华 3516

selenium使用ocr识别实现网页动态验证码登录

算是自己实现的第一个有意义的程序吧package com.CAPTCHA.tests;import java.awt.Rectangle; import java.awt.image.BufferedImage; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import jav

ai30001的博客 1232

VS2019手动添加bits/stdc++.h全指南(附解决‘无法打开源文件‘错误)

本文详细介绍了在Visual Studio 2019中手动配置C++万能头文件bits/stdc++.h的完整方法,解决常见的'无法打开源文件'错误。通过分析GCC与MSVC编译器生态差异,提供了纯手动创建和MinGW移植两种可靠方案,并给出详细的步骤、常见错误排查及最佳实践建议,帮助开发者高效配置竞赛开发环境。

weixin_29011395的博客 547

编译原理(东南大学)一:【编译原理期末冲刺救命笔记】速存!看完再上考场稳了!

本文详细介绍了编译原理的核心概念和流程,包括程序设计语言的分类、编译程序的各个阶段(如词法分析、语法分析、语义分析、中间代码生成、优化和目标代码生成)以及编译程序生成和构造的基础知识。文章还探讨了编译中的表格管理、出错处理和遍的概念,以及编译基础知识如高级语言、语法规则、字母表和符号串的运算。此外,文中还涉及文法与语言的关系,包括文法的概念、非终结符、终结符、产生式、推导和规约等。整体内容旨在为学习编译原理的学生提供全面的复习资料和考试准备指南。

一位搞嵌入式和前端的genius的博客 1028

python(自动化)利用selenium+百度ocr文字识别验证码实现自动登陆登陆CET-四级报名系统

步骤实现: 1:登陆打开CET-考试系统 2:填写相关登陆信息 3:调用百度ocr实现文字验证码识别 4:实现登陆 强调:如何使用和调用百度ocr文字识别接口 1:进入百度AI开发平台:链接 2:在页面上选择进入控制台: 3:登陆百度账号(没有百度账号的需要先注册) 4:进来后点击文字识别 5:进来后再点击创建应用(这里我已创建好) 5:获取我门需要的三个信息,后面代码需要用到 即AppID,APIkey,SecretKey 需要用到的python库: 1:selenium 2:time(时间模块,

Carson's Blog 2351

解锁RK3588 HDMI输出:分辨率与EDID的深度探索

本文详细探讨了瑞芯微RK3588处理器的HDMI输出分辨率配置与EDID解析技术。文章首先介绍了RK3588处理器的性能特点及其HDMI功能在多媒体和工业领域的应用价值,随后分别阐述了HDMI输出分辨率的硬件连接要求和软件配置方法,包括4K/8K等不同分辨率的配置实例。在EDID部分,深入解析了EDID的数据结构、交互机制,以及数据获取与修改的具体方法。最后总结了配置过程中常见问题的解决方案,并展望了RK3588在高分辨率显示领域的发展前景。全文为开发者提供了RK3588 HDMI显示配置的完整技术指南。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 592

python获取页面验证码图片_python自动化实现登录获取图片验证码功能

主要记录一下:图片验证码1.获取登录界面的图片2.获取验证码位置3.在登录页面截取验证码保存4.调用百度api识别(目前准确率较高的识别图片api)本次登录的系统页面,可以看到图片验证码的位置from selenium import webdriverimport timefrom PIL import Imagebase_url = '***********'browser = webdrive...

weixin_39725844的博客 981

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Selenium 初步使用之自动登录(包含识别验证码),超级详细

初次开始使用Selenium,于是开始用登录作为联手项目,是一个真实的登录界面,包含验证码(验证码是难点,获取与识别),以下会讲的很详细,我怕我下次又忘记了我采用Selenium + python + 百度云OCR,安装等教程自行百度,我就不多说了。

weixin_45496777的博客 1505

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

python实现网站的自动登录(selenium实现,带验证码识别)

python实现网站自动登录(selenium实现,带验证码识别) 一、前言 这是鄙人写的第一篇博客,旨在总结一下近期所学,本文通过selenium工具实现工作所用网站的自动登录,下图为网站登录界面。 1、运行环境 操作系统:Windows10 python版本:python3.7 2、需要的python第三方库 1、selenium 安装:pip install selenium seleniu...

Paramete的博客 1万+

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

python百度aip移动目标_Python通过百度api识别验证码,并结合selenium实现自动登陆功能...

1.使用的库使用的库:baidu-aip, pillow, selenium.如果没有安装,可以在cmd中输入:pip install baidu-aippip install pillowpip install selenium2.实现功能(1)账号密码的输入​以上是我校综合服务平台登陆网站的一部分,想要实现自动登陆,账号密码可以通过selenium的find_element_by_id()se...

weixin_39755824的博客 132

selenium中登录验证码问题

刚开始我用的是python中自带的验证库,但是我发现成功率真不高,后来用的百度的接口,因为只是数字加字母的验证,所以问题不大。具体元素自己代入。 from selenium import webdriver import time from PIL import Image, ImageEnhance import requests import base64 #首先截图整个页面 dri...

qq_41837355的博客 753

python识别字母的原理_python3 利用百度AI进行简单的字母数字验证码识别

版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.youkuaiyun.com/qq_33546486/article/details/85599444python3 利用百度AI进行简单的字母数字验证码识别新手学习笔记,勿喷!完成网页登录试过的方法:添加cookie(有时候过一会,或者过一天就不能登录,不知道为什么)基于传...

weixin_39646831的博客 320

python api调用 验证码_Python + Selenium(二十三)使用百度文字识别API识别验证码...

上一节我们讲到验证码,通过图像识别的方式可以识别简单的验证码,所以识别对我们的意义不是特别大。不过我单独开这一节来讲,也算是扩充一些知识面,同时也可以练习一下关于 requests 的一些用法。对接口测试的理解也有很大的好处。首先我们需要注册百度开发者平台,并且认证。看这里注册好以后,创建应用并勾选文字识别服务(其实都可以勾起来玩一玩),文字识别服务分了几种,有完全免费的“通用文字识别”,每天有 ...

weixin_29138993的博客 438

【无标题】模拟浏览器自动登录_百度识别验证码

code = res_image['words_result'][0]['words'] # 识别出来是一个字典,取第一个words_result的words,就是你的验证码。# 百度就直接识别,如果验证码复杂了再看处理了再交给百度识别,可以去看其他文章关于处理验证码,处理之后用下面的百度识别方法就行。逛了很多文章,到处找方法,一篇文章学一点,终于把东拼西凑的代码合并为适合自己的,以下简单介绍,希望对你有参考意义。APP_ID = '你的ID' # 百度免费申请。.send_keys('你的用户名')

nihaojun98的博客 314

Python-Selenium练习之自动化登陆(图片验证吗)

先上代码 from selenium.webdriver.common.by import By import time from selenium import webdriver from PIL import Image from aip import AipOcr from os import path class TestUserLogin: def __init__(self): self.driver = webdriver.Chrome() sel

highfish920的博客 663

auto公能自评&互评 selenium的简单使用

在学习使用selenium,恰好碰到了我开的公能测评。。然后就用这个写了一个自动登陆并完成客观题的小程序。 验证码的识别借助baidu的通用ocr, 还尝试了tesseract和pyocr,但是识别准确率太低,最后还是换了baidu的,500次免费,基本够用了,如果需要的话,可以自行申请,把参数调整成自己的即可。 from selenium import webdriver from seleni...

weixin_39999637的博客 493

如何用12306买票小工具快速搞定火车票?小白也能懂的配置教程

12306买票小工具是一款实用的开源抢票神器,能帮助用户快速搞定火车票抢购,尤其适合春节、国庆等出行高峰期使用。即使你是技术小白,按照本教程也能轻松配置并使用这款工具。 ## 🚀 准备工作:环境搭建与依赖安装 使用12306买票小工具前,需要先搭建基础运行环境。首先确保你的电脑已安装Python3,然后通过以下步骤安装所需依赖: 1. 克隆项目仓库: ``` git clone https

gitblog_01079的博客 467

HHU 命令行面板

写在前面 上次用 selenium爬虫写了个 快捷面板,太复杂,正好上次用requests登录了教务系统,就顺便把一些功能给写了,因为懒得写UI,直接弄成了命令行工具。 主要功能包括: 1、查询本学期成绩 2、查询选课列表 3、查询绩点排名 4、一键教学评估 其中第2个功能是为了以后一键抢课功能做准备的,等选课系统开放就开搞! 前置要求 需要百度OCR的API,主要为了自动识别验证码登录,所以要去 https://login.bce.baidu.com/?account=&redirect=ht

爱吃猫的鱼~ 1271

gan通过python实现_Python通过百度api识别验证码,并结合selenium实现自动登陆功能...

1.使用的库使用的库:baidu-aip, pillow, selenium.如果没有安装,可以在cmd中输入:点击此处,获取海量Python学习资料!pip install baidu-aip pip install pillow pip install selenium 2.实现功能(1)账号密码的输入​以上是我校综合服务平台登陆网站的一部分,想要实现自动登陆,账号密码可以通过seleniu...

weixin_39945679的博客 121
上一篇: python+selenium获取分页表格数据并导入excel中
下一篇: python 文件分片上传的接口自动化
杨佳啊
博客等级 码龄9年 4粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值