python调用文字识别OCR轻松搞定验证码
作者:诗一样的代码 发布时间:2023-02-20 17:10:54
标签:python,OCR,验证码
今天带你们去研究一个有趣的东西,文字识别OCR。不知道你们有没有想要识别图片,然后读出文字的功能。例如验证码,如果需要自动填写的话就需要这功能。还有很多种情况需要这功能的。
我们可以登录百度云,然后看看里面的接口文档。接口功能还是有比较丰富的应用场景的。
# encoding:utf-8
import requests
import base64
'''
通用文字识别
'''
request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic"
# 二进制方式打开图片文件
f = open('[本地文件]', '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)
if response:
print (response.json())
这里面所有的代码都帮你弄好了,直接拿来就用,这是官方文档里面的。然后我们看一下需要填写的就是access_token。这里面的access_token是需要调用请求才能返回的。
# encoding:utf-8
import requests
# client_id 为官网获取的AK, client_secret 为官网获取的SK
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【官网获取的AK】&client_secret=【官网获取的SK】'
response = requests.get(host)
if response:
print(response.json())
首先建立起应用,然后查看自己的client_id=【官网获取的AK】&client_secret=【官网获取的SK】。把这两个东西填写上就行。然后response.json()中会带有所需要的access_token的。
我们来测试一下。
最后运行之后,简单就能识别出结果。
来源:https://juejin.cn/post/7012427020378308645


猜你喜欢
- 提高性能有如下方法1、Cython,用于合并python和c语言静态编译泛型2、IPython.parallel,用于在本地或者集群上并行执
- 目录一、概念二、哪些函数支持三、占位符使用四、普通占位符1. %v、%+v、%#v2. %T3. %%五、布尔占位符六、整数占位符1. %b
- 定义函数:CREATE FUNCTION [dbo].[GetAge] ( @BirthDay nvarchar(2
- 不要使用Logrus这其实和泛型有关。因为Go语言是一门强类型的静态语言,所以你不可能像NodeJS或者PHP那样绕过数据类型。那如果我们还
- Python 中的可变和不可变对象一、文字描述可变和不可变对象在 Python 中,一切皆为对象Python 中不存在值传递,一切传递的都是
- 本文实例讲述了ES6新特性中的let和const命令。分享给大家供大家参考,具体如下:1. let 命令① 在js中是没有块级作用域的,va
- 1. 原理图2. 说明JS 中用来存储待执行回调函数的队列包含 2 个不同特定的列队宏列队:用来保存待执行的宏任务(回调),比如:定时器回调
- pycharm创建新文件自动添加文件头注释背景我们平时在使用pycharm发现有些大神创建一个新文件的时候会自动在文件头添加一些注释,像是有
- 你说的就是真正的计数器,它只在有新的用户进入网站时,计数器才会加1,忠实可靠。把下列代码放到的global.asa的sessio
- 本文实例讲述了Python读取文件内容的三种常用方式。分享给大家供大家参考,具体如下:本次实验的文件是一个60M的文件,共计392660行内
- <%'asp事务处理。'测试数据库为sql server,服务器为本机,数据库名为test,表名为a,两个字段id(i
- 目录表示时间的方式1. 调用语法:2. time概述3. 时间获取4. 时间格式化(将时间以合理的方式展示出来)5. 程序计时应用6. 示例
- 在进行特征工程、划分数据集的工作中,drop()函数都能派上用场。它可以轻松剔除数据、操作列和操作行等。drop()详细的语法如下:删除行是
- 前言本文主要给大家介绍了关于Python利用元组代替字典并为元组元素命名的相关内容,下面话不多说了,来一起看看详细的介绍吧场景:一般使用字典
- jQuery是一个非常优秀的JavaScript 框架,使用简单灵活,同时还有许多成熟的插件可供选择,它可以帮助你在项目中加入一些非常好的效
- 关于权限管理的思考最近用laravel设计后台,后台需要有个权限管理。权限管理实质上分为两个部分,首先是认证,然后是权限。认证部分非常好做,
- 它解析并马上执行动态的SQL语句或非运行时创建的PL/SQL块.动态创建和执行SQL语句性能超前,EXECUTE IMMEDIATE的目标在
- 实现功能:1、子组件的input输入,改变父组件信息2、父组件对子组件1,3进行监听与控制3、子组件1与子组件3相互关联父子双向通信流程:子
- 前言JavaScript语言中有一个非常重要又难以掌握,近似神话的概念-闭包。对于有一点JavaScript使用经验但从未真正理解闭包概念的
- 最近没有项目做,闲来无事写了一个小demo,特此分享到脚本之家平台,供大家参考下,本文写的不好还请各位大侠见谅!功能及方法逻辑都注释在代码中