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 re模块findall()函数实例解析
Jan 19 Python
Python3多进程 multiprocessing 模块实例详解
Jun 11 Python
Python实现多级目录压缩与解压文件的方法
Sep 01 Python
python实现自动登录
Sep 17 Python
基于python历史天气采集的分析
Feb 14 Python
CentOS6.9 Python环境配置(python2.7、pip、virtualenv)
May 06 Python
Flask框架学习笔记之模板操作实例详解
Aug 15 Python
pytorch读取图像数据转成opencv格式实例
Jun 02 Python
5 分钟读懂Python 中的 Hook 钩子函数
Dec 09 Python
Python通过loop.run_in_executor执行同步代码 同步变为异步
Apr 11 Python
Python中npy和mat文件的保存与读取
Apr 24 Python
python的html标准库
Apr 29 Python
利用Python网络爬虫爬取各大音乐评论的代码
用Python制作灯光秀短视频的思路详解
python实现socket简单通信的示例代码
使用Selenium实现微博爬虫(预登录、展开全文、翻页)
python用字节处理文件实例讲解
Apr 13 #Python
Python中相见恨晚的技巧
Apr 13 #Python
利用python做表格数据处理
You might like
第五节 克隆 [5]
2006/10/09 PHP
PHP 程序授权验证开发思路
2009/07/09 PHP
php版小黄鸡simsimi聊天机器人接口分享
2014/01/26 PHP
php隐藏IP地址后两位显示为星号的方法
2014/11/21 PHP
递归实现php数组转xml的代码分享
2015/05/14 PHP
PHP SOCKET编程详解
2015/05/22 PHP
WordPress主题制作之模板文件的引入方法
2015/12/28 PHP
php使用ffmpeg向视频中添加文字字幕的实现方法
2016/05/23 PHP
详解PHP中foreach的用法和实例
2016/10/25 PHP
Laravel 自定命令以及生成文件的例子
2019/10/23 PHP
js字符编码函数区别分析
2011/12/28 Javascript
jqueyr判断checkbox组的选中(示例代码)
2013/11/08 Javascript
javascript弹出层输入框(示例代码)
2013/12/11 Javascript
js实现格式化金额,字符,时间的方法
2015/02/26 Javascript
JavaScript通过Date-Mask将日期转换成字符串的方法
2015/06/04 Javascript
javascript学习指南之回调问题
2016/04/23 Javascript
js Canvas绘制圆形时钟教程
2017/02/06 Javascript
vue实现简单表格组件实例详解
2017/04/16 Javascript
深究AngularJS中ng-drag、ng-drop的用法
2017/06/12 Javascript
详解Nodejs 通过 fs.createWriteStream 保存文件
2017/10/10 NodeJs
详解使用路由延迟加载 Angular 模块
2017/10/12 Javascript
vue+iview 兼容IE11浏览器的实现方法
2019/01/07 Javascript
javaScript中indexOf用法技巧
2019/11/26 Javascript
利用JS如何获取form表单数据
2019/12/19 Javascript
JavaScript中Object、map、weakmap的区别分析
2020/12/15 Javascript
[51:15]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-GAMING
2014/05/22 DOTA
Python制作钉钉加密/解密工具
2016/12/07 Python
Python实现字典(dict)的迭代操作示例
2018/06/05 Python
Python OS模块实例详解
2019/04/15 Python
Python操作Sqlite正确实现方法解析
2020/02/05 Python
使用Python制作一个数据预处理小工具(多种操作一键完成)
2021/02/07 Python
6号汽车旅馆预订:Motel 6
2018/02/11 全球购物
.NET里面什么时候需要调用垃圾回收
2015/06/01 面试题
店长岗位的工作内容
2013/11/12 职场文书
学校就业推荐信范文
2014/05/19 职场文书
2015质检员个人年终工作总结
2015/10/23 职场文书