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读写配置文件的方法
Jun 03 Python
Python捕捉和模拟鼠标事件的方法
Jun 03 Python
在MAC上搭建python数据分析开发环境
Jan 26 Python
利用Python实现命令行版的火车票查看器
Aug 05 Python
Python计时相关操作详解【time,datetime】
May 26 Python
Python判断两个对象相等的原理
Dec 12 Python
Python if语句知识点用法总结
Jun 10 Python
python3爬取数据至mysql的方法
Jun 26 Python
解决python xx.py文件点击完之后一闪而过的问题
Jun 24 Python
pycharm通过ssh连接远程服务器教程
Feb 12 Python
Keras: model实现固定部分layer,训练部分layer操作
Jun 28 Python
python单向链表实例详解
May 25 Python
利用Python网络爬虫爬取各大音乐评论的代码
用Python制作灯光秀短视频的思路详解
python实现socket简单通信的示例代码
使用Selenium实现微博爬虫(预登录、展开全文、翻页)
python用字节处理文件实例讲解
Apr 13 #Python
Python中相见恨晚的技巧
Apr 13 #Python
利用python做表格数据处理
You might like
php-fpm开启状态统计的方法详解
2017/06/23 PHP
js版本A*寻路算法
2006/12/22 Javascript
Javascript base64编码实现代码
2011/12/02 Javascript
JavaScript中的立即执行函数表达式介绍
2015/03/15 Javascript
jquery实现的省市区三级联动
2015/04/02 Javascript
基于jQuery实现自动轮播旋转木马特效
2015/11/02 Javascript
输入框点击时边框变色效果的实现方法
2016/12/26 Javascript
js实现悬浮窗效果(支持拖动)
2017/03/09 Javascript
微信小程序 生命周期函数详解
2017/05/24 Javascript
详解Vue2 SSR 缓存 Api 数据
2017/11/20 Javascript
推荐10款扩展Web表单的JS插件
2017/12/25 Javascript
详解Vue实战指南之依赖注入(provide/inject)
2018/11/13 Javascript
vue自定义js图片碎片轮播图切换效果的实现代码
2019/04/28 Javascript
js中Function引用类型常见有用的方法和属性详解
2019/12/11 Javascript
[39:11]DOTA2上海特级锦标赛C组资格赛#2 LGD VS Newbee第二局
2016/02/28 DOTA
使用相同的Apache实例来运行Django和Media文件
2015/07/22 Python
python 容器总结整理
2017/04/04 Python
Python学习入门之区块链详解
2017/07/25 Python
Python json模块dumps、loads操作示例
2018/09/06 Python
python根据list重命名文件夹里的所有文件实例
2018/10/25 Python
python 文本单词提取和词频统计的实例
2018/12/22 Python
用Pycharm实现鼠标滚轮控制字体大小的方法
2019/01/15 Python
Python函数生成器原理及使用详解
2020/03/12 Python
解决pycharm下pyuic工具使用的问题
2020/04/08 Python
jupyter notebook 重装教程
2020/04/16 Python
Python word文本自动化操作实现方法解析
2020/11/05 Python
Dr.Jart+美国官网:韩国药妆品牌
2019/01/18 全球购物
介绍一下Java中标识符的命名规则
2014/02/03 面试题
工厂厂长岗位职责
2013/11/08 职场文书
幼儿园小班评语
2014/04/18 职场文书
领导四风问题整改措施思想汇报
2014/10/13 职场文书
2014年技术部工作总结
2014/12/12 职场文书
2016公司年会通知范文
2015/04/25 职场文书
2016年中学植树节活动总结
2016/03/16 职场文书
vue实现锚点定位功能
2021/06/29 Vue.js
解决MySQL Varchar 类型尾部空格的问题
2022/04/06 MySQL