python自动化调用百度api解决验证码


Posted in Python onApril 13, 2021

自动化测试验证码登陆的三种解决方式

1,找开发关闭验证码
2,找开发设置万能验证码
3,使用第三方接口识别验证?不能100%识别,比自己搭建的ocr识别的识别率高很多

具体讲的就是第三种-调用百度云识别验证码:

from selenium import webdriver
from PIL import Image
import base64
import requests
import time

def baidu_api(Verification_code, AK, SK):#Verification_code验证码路径,AK,SK百度云的身份识别码
    chrome.get_screenshot_as_file('reg.png')  # 获取登陆页面的图片
    code_img = chrome.find_element_by_xpath(Verification_code)  # 找到验证码图片的位置
    img = Image.open('reg.png')# 保存图片
    c_img = img.crop((code_img.location['x'], code_img.location['y'], code_img.location['x'] + code_img.size['width'],
                      code_img.location['y'] + code_img.size['height']))  # 截取验证码图片
    c_img.save('reg_code.png')
    host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&' \
            'client_id='+AK+'&' \
            'client_secret='+ SK
    response = requests.get(host)
    token = response.json()['access_token']
    request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/accurate_basic"
    f = open('reg_code.png', 'rb')# 二进制方式打开图片文件
    img = base64.b64encode(f.read())
    params = {"image": img}
    access_token = token
    request_url = request_url + "?access_token=" + access_token
    headers = {'content-type': 'application/x-www-form-urlencoded'}
    response = requests.post(request_url, data=params, headers=headers)
    dict_a = response.json()['words_result']
    if response:
        dict_a = eval(str(dict_a)[1:-1])#数据类型的格式转换
        dict_a = dict(dict_a)#转化为字典类型
        dict_a = dict_a['words']
        dict_a = "".join(dict_a.split())  # 使用一个空字符串合成列表内容生成新的字符串
        dict_a = dict_a.lower()#把大写字母改为小写字母
        return dict_a
    else:
        chrome.refresh()

chrome = webdriver.Chrome()#浏览器实例化
chrome.maximize_window()#最大化浏览器
chrome.get('自己登陆的网址')
test = baidu_api(Verification_code, AK, SK)#返回识别的验证码
chrome = webdriver.Chrome()
print(test)#验证码

百度云AK,SK的获取:
进入:百度云
点击立即使用——进行登陆——实名认证。

python自动化调用百度api解决验证码

按着自己的需求选着,免费的基本上就够用了

python自动化调用百度api解决验证码

这就是自己的AK和SK

然后写入在代码里给AK和SK就行了

到此这篇关于python自动化调用百度api解决验证码的文章就介绍到这了,更多相关python调用百度api验证码内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
跟老齐学Python之复习if语句
Oct 02 Python
把MySQL表结构映射为Python中的对象的教程
Apr 07 Python
使用python3.5仿微软记事本notepad
Jun 15 Python
python中requests小技巧
May 10 Python
python爬虫之线程池和进程池功能与用法详解
Aug 02 Python
使用 Python 实现微信群友统计器的思路详解
Sep 26 Python
使用Python控制摄像头拍照并发邮件
Apr 23 Python
python获取全国城市pm2.5、臭氧等空气质量过程解析
Oct 12 Python
Python打开文件、文件读写操作、with方式、文件常用函数实例分析
Jan 07 Python
python图片剪裁代码(图片按四个点坐标剪裁)
Mar 10 Python
Python+Django+MySQL实现基于Web版的增删改查的示例代码
May 13 Python
用python制作个音乐下载器
Jan 30 Python
利用Python网络爬虫爬取各大音乐评论的代码
用Python制作灯光秀短视频的思路详解
python实现socket简单通信的示例代码
使用Selenium实现微博爬虫(预登录、展开全文、翻页)
python用字节处理文件实例讲解
Apr 13 #Python
Python中相见恨晚的技巧
Apr 13 #Python
利用python做表格数据处理
You might like
php xml文件操作实现代码(二)
2009/03/20 PHP
php 计划任务 检测用户连接状态
2012/03/29 PHP
解析php时间戳与日期的转换
2013/06/06 PHP
解析phpstorm + xdebug 远程断点调试
2013/06/20 PHP
PHP中单引号与双引号的区别分析
2014/08/19 PHP
微信API接口大全
2015/04/15 PHP
curl和libcurl的区别简介
2015/07/01 PHP
PHP简单实现欧拉函数Euler功能示例
2017/11/06 PHP
PHP递归的三种常用方式
2019/02/28 PHP
统计出现最多的字符次数的js代码
2010/12/03 Javascript
javascript 主动派发事件总结
2011/08/09 Javascript
关于使用 jBox 对话框的提交不能弹出问题解决方法
2012/11/07 Javascript
jQuery点击改变class并toggle及toggleClass()方法定义用法
2015/12/11 Javascript
详解JavaScript中Hash Map映射结构的实现
2016/05/21 Javascript
javascript 常用验证函数总结
2016/06/28 Javascript
JS常见创建类的方法小结【工厂方式,构造器方式,原型方式,联合方式等】
2017/04/01 Javascript
vue组件实现文字居中对齐的方法
2017/08/23 Javascript
详解vue-cli官方脚手架配置
2018/07/20 Javascript
vue项目中使用particles实现粒子背景效果及遇到的坑(按钮没有点击响应)
2020/02/11 Javascript
基于Vant UI框架实现时间段选择器
2020/12/24 Javascript
[46:58]完美世界DOTA2联赛PWL S3 Forest vs LBZS 第一场 12.17
2020/12/19 DOTA
开始着手第一个Django项目
2015/07/15 Python
python3.6+django2.0开发一套学员管理系统
2018/03/03 Python
对django views中 request, response的常用操作详解
2019/07/17 Python
Django实现CAS+OAuth2的方法示例
2019/10/30 Python
使用 Python 清理收藏夹里已失效的网站
2019/12/03 Python
澳大利亚厨房和家用电器购物网站:Bing Lee
2021/01/11 全球购物
学生自我鉴定
2013/12/18 职场文书
简历上的自我评价怎么写
2014/01/28 职场文书
企业宣传方案
2014/03/04 职场文书
高中学生会竞选演讲稿
2014/08/25 职场文书
合伙经营协议书范本
2014/09/13 职场文书
运动会跳远广播稿5篇
2014/09/17 职场文书
Redis入门教程详解
2021/08/30 Redis
css布局巧妙技巧之css三角示例的运用
2022/03/16 HTML / CSS
PyTorch中的torch.cat简单介绍
2022/03/17 Python