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生成随机密码
Mar 10 Python
在Linux上安装Python的Flask框架和创建第一个app实例的教程
Mar 30 Python
详解python基础之while循环及if判断
Aug 24 Python
python selenium 对浏览器标签页进行关闭和切换的方法
May 21 Python
详解Python如何生成词云的方法
Jun 01 Python
Scrapy使用的基本流程与实例讲解
Oct 21 Python
浅谈Python的list中的选取范围
Nov 12 Python
Python多线程同步---文件读写控制方法
Feb 12 Python
python取余运算符知识点详解
Jun 27 Python
python实现动态数组的示例代码
Jul 15 Python
Python Opencv提取图片中某种颜色组成的图形的方法
Sep 19 Python
python使用torch随机初始化参数
Mar 22 Python
利用Python网络爬虫爬取各大音乐评论的代码
用Python制作灯光秀短视频的思路详解
python实现socket简单通信的示例代码
使用Selenium实现微博爬虫(预登录、展开全文、翻页)
python用字节处理文件实例讲解
Apr 13 #Python
Python中相见恨晚的技巧
Apr 13 #Python
利用python做表格数据处理
You might like
PHP新手上路(十二)
2006/10/09 PHP
PHP获取数组中重复最多的元素的实现方法
2014/11/11 PHP
谈谈PHP中substr和substring的正确用法及相关参数的介绍
2015/12/16 PHP
php接口技术实例详解
2016/12/07 PHP
PHP实现权限管理功能示例
2017/09/22 PHP
PHP使Laravel为JSON REST API返回自定义错误的问题
2018/10/16 PHP
学习js所必须要知道的一些
2007/03/07 Javascript
Node.js模块加载详解
2014/08/16 Javascript
nodejs爬虫抓取数据之编码问题
2015/07/03 NodeJs
基于jquery实现放大镜效果
2015/08/17 Javascript
浅谈JavaScript对象与继承
2016/07/10 Javascript
javascript比较语义化版本号的实现代码
2016/09/09 Javascript
详解使用JWT实现单点登录(完全跨域方案)
2019/08/02 Javascript
vue+elementUI实现图片上传功能
2019/08/20 Javascript
JS实现省市县三级下拉联动
2020/04/10 Javascript
vue相同路由跳转强制刷新该路由组件操作
2020/08/05 Javascript
vue实现图片按比例缩放问题操作
2020/08/11 Javascript
[01:02:10]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第一局
2016/02/26 DOTA
零基础写python爬虫之HTTP异常处理
2014/11/05 Python
python matlibplot绘制多条曲线图
2021/02/19 Python
漂亮的Django Markdown富文本app插件的实现
2019/01/02 Python
Flask框架学习笔记之表单基础介绍与表单提交方式
2019/08/12 Python
Python2.6版本pip安装步骤解析
2020/08/17 Python
英国袜子店:Sock Shop
2017/01/11 全球购物
Swisse官方海外旗舰店:澳大利亚销量领先,自然健康品牌
2017/12/15 全球购物
个人找工作求职简历的自我评价
2013/10/20 职场文书
库房保管员岗位职责
2014/04/07 职场文书
抗洪救灾先进集体事迹材料
2014/05/26 职场文书
2014银行授权委托书样本
2014/10/04 职场文书
2014年班主任工作总结
2014/11/08 职场文书
上帝也疯狂观后感
2015/06/09 职场文书
辞职信怎么写?
2019/05/21 职场文书
企业内部管理控制:采购授权审批制度范本
2020/01/19 职场文书
Sql-Server数据库单表查询 4.3实验课
2021/04/05 SQL Server
浅谈PHP7中的一些小技巧
2021/05/29 PHP
MySQL一劳永逸永久支持输入中文的方法实例
2022/08/05 MySQL