[Python进阶] 识别验证码

news2024/11/23 18:34:47

11.3 识别验证码

我们再开发某些项目的时候,如果遇到要登录某些网页,那么会经常遇到输入验证码的情况,而每次人工输入验证码的话,比较浪费时间。于是,可以通过调用某些接口进行识别。

11.3.1 调用百度文字识别接口

这里,我们详细的来介绍一下如何注册百度云、通过Python调用百度文字识别接口。

11.3.1.1 注册百度云

1、搜索百度智能云,进入到官方主页。
2、点击免费注册,注册百度智能云。
3、进入到应用管理:https://console.bce.baidu.com/ai/#/ai/ocr/overview/index
4、在服务列表中,找到通用场景OCR下的通用文字识别(高精度版),点击右边的开通。这个服务每个月会有1000次的免费试用。对于一般人而言也够了。
在这里插入图片描述

5、进去后按照要求填写相关信息,确认开通即可。
6、开通后,我们会得到3个重要信息:AppIDAPI KeySecret Key。妥善保管好着3个信息,后面会用到。

11.3.1.2 获取Access_token

访问示例代码中心:https://console.bce.baidu.com/tools/#/api?product=AI&project=%E6%96%87%E5%AD%97%E8%AF%86%E5%88%AB&parent=%E9%89%B4%E6%9D%83%E8%AE%A4%E8%AF%81%E6%9C%BA%E5%88%B6&api=oauth%2F2.0%2Ftoken&method=post
快速调试接口,可进行签名验证、查看在线调用的请求内容和返回结果、示例代码的自动生成。
填入之前获取到的API KeySecret Key,点击调试,然后切换到响应数据中的Body页面,在下面我们可以看到access_token
在这里插入图片描述

11.3.1.3 调用接口

请求示例代码:

# encoding:utf-8
import requests
import base64

'''
通用文字识别(高精度版)
'''

request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/accurate_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())

返回示例(JSON格式):

{
“log_id”: 1390582998516105216,
“words_result_num”: 2
“words_result”: [
{
“words”: " OCR"
},
{
“words”: “百度通用文字识别高精度版”
}
]
}

11.3.2 使用第三方库:ddddocr

这是一个十分强大的图文识别第三方库,相对于百度文字识别,优势如下:
1、不用在线注册,本地部署即可
2、没有次数限制
3、识别效果比百度的图文识别要更好
4、使用简单
老规矩,先下载安装:

pip install ddddocr

使用:

def ftOCRByddddocr(pmImgFilename: str):
    """
    通过ddddocr库识别本地图片中的字符
    @param pmImgFilename: 图片名
    @return: {str:识别到的内容}
    """
    import ddddocr
    ocr = ddddocr.DdddOcr(show_ad=False)
    with open(pmImgFilename, 'rb') as f:
        img_bytes = f.read()
    return ocr.classification(img_bytes)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1445800.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

软件22-上午题-树与二叉树2

一、平衡二叉树 平衡二叉树:是一棵空树或它的左右两个子树的高度差的绝对值不超过 1, 并且左右两个子树都是一棵平衡二叉树。 注意: 完全二叉树 平衡二叉树!!! 二、二叉排序树(二叉查找树、二…

Linux(Ubuntu)环境下安装卸载Python3(避免踩坑)

一、安装 第一步: 进入/usr/local/目录,下载Python3,这里我下载的是python 3.8.10,如果要下载其他版本改下链接中的版本号,需与官网版本号对应。 wget https://www.python.org/ftp/python/3.8.10/Python-3.8.10.tgz第…

问题:入园前需要做好的准备包括( )。 #学习方法#其他#微信

问题:入园前需要做好的准备包括( )。 A.室内通风 B.清洁消毒 C.保健医晨检 D.准备用品和玩具 参考答案如图所示

AI新工具(20240209) ImgGen AI-免费在线AI图像生成应用;Smoothrase - 新一代的图像擦除技术等

ImgGen AI-免费在线AI图像生成应用 使用ImgGen的AI图像生成器(文字转图像)免费创建令人惊叹的图像,无水印,无需注册。包括功能、优势、定价、定位等。 Anything in Any Scene - 在现有的动态视频中无缝地插入任何物体&#xff0c…

java对象内部都有哪些东西

普通对象 对象头 markword 占8字节ClassPointer 指针 :-XX userCompressedClassPointrs 为4字节,不开启为 8字节实例数据 引用类型: -XX userCommpressedOops 为4字节,不开启8字节Padding对齐, 8的倍数 数组对象 对象头:markwor…

今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事 2月12日,星期一

每天一分钟,知晓天下事! 2024年2月12日 星期一 农历正月初三 1、 注意错峰出行!今起全国公路网流量将处于高位运行状态。 2、 中国旅游研究院:预计2024年国内旅游人数或超60亿人次。 3、 阔别四年,北京、贵阳、张家…

Halcon 频域缺陷检测

文章目录 傅里叶变换频谱矩形圆菱形黑白相间的亮带去除图纹(反傅里叶变换)去除图纹滤波器处理 Halcon 频域空间域检测缺陷Halcon 频域差分空间域 缺陷检测(lines_gauss 提取线)Halcon 频域差分空间域(blob特征&#xf…

leetcode 461. 汉明距离

比较简单的一题,先对两个整数进行异或操作,会将两个整数二进制形式中各个数字进行异或操作,不同的数字则为1,再通过移位操作统计得到的二进制数中为1的个数,即为所求。 Java代码如下: class Solution {pub…

例38:使用Frame(分组框)

建立一个EXE工程,在窗体上放两个Frame框。分别放两组单选按钮表示性别和收入,注意每组单选按钮的组名要一样。在按钮中输入代码: Sub Form1_Command1_BN_Clicked(hWndForm As hWnd, hWndControl As hWnd)If Frame1.Visible ThenFrame1.Visib…

车载诊断协议DoIP系列 —— 协议中术语解释和定义

车载诊断协议DoIP系列 —— 协议中术语解释和定义 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师(Wechat:gongkenan2013)。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 本就是小人物,输了就是输了,不要在意别人怎么看自己。江湖一碗茶,…

EXCEL中如何调出“数据分析”的菜单

今天发现,原来WPS还是和EXCEL比,还是少了“数据分析”这个日常基本做统计的菜单,只好用EXCEL了,但奇怪发现我的EXCEL中没发现这个菜单,然后查了下,才发现,要用如下的方法打开: 1&…

基于Java (spring-boot)的电影院管理系统

一、项目介绍 基于Java (spring-boot)的电影院管理系统功能:管理员登录、用户注册、用户登录、用户、影片介绍、购票、选坐、支付、我的订单、影片、榜单、关于、后台首页、影院信息管理、电影信息管理、电影类别管理、影厅信息管理、场次信息管理、订单信息管理、用…

Solidworks:从2D走向3D

Sokidworks 的强大之处在于三维实体建模,这个形状看似复杂,实际上只需要拉伸一次,再做一次减法拉伸就行了。第一次做三维模型,费了不少时间才搞明白。 接下来做一个稍微复杂一点的模型,和上面这个操作差不多&#xff0…

《SQLi-Labs》05. Less 29~37

title: 《SQLi-Labs》05. Less 29~37 date: 2024-01-17 22:49:10 updated: 2024-02-12 18:09:10 categories: WriteUp:Security-Lab excerpt: HTTP 参数污染,联合注入、宽字节注入。 comments: false tags: top_image: /images/backimg/SunsetClimbing.p…

nodejs爬虫框架

nodejs爬虫框架 在Node.js中,有一些常用的爬虫框架可以帮助你实现网页抓取和数据提取的任务。以下是几个流行的Node.js爬虫框架: 1. **Puppeteer**: Puppeteer 是由 Google 开发的一个用于控制 headless Chrome 或 Chromium 浏览器的 Node.js 库。它提供…

【深度学习 目标检测】R-CNN系列算法全面概述(一文搞懂R-CNN、Fast R-CNN、Faster R-CNN的来龙去脉)

🚀个人主页:为梦而生~ 关注我一起学习吧! 💡相关专栏: 深度学习 :现代人工智能的主流技术介绍 机器学习 :相对完整的机器学习基础教学! 💡往期推荐: 【机器学…

基于微信小程序的培训机构客户管理系统小程序

摘 要 随着社会的发展,社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。 本文以实际运用为开发背景,运用软件工程原理和开发方法,它主要是采用java语言技术和mysql数据库来完成对系统的设计。整个开…

秋招上岸大厂,分享一下经验

文章目录 秋招过程学习过程项目经验简历经验面试经验offer选择总结 秋招过程 今天是除夕,秋招已经正式结束了,等春节过完就到了春招的时间点了。 运气比较好,能在秋招的末尾进入一家大厂,拿到20k的sp offer。 从九月份十月份就开…

MYSQL学习笔记:mysql运算符

MYSQL学习笔记:mysql运算符 select * from user where score in (99,100); select * from user where name like zhang%;通配符放到后面或者中间是可以利用索引的,但是通配符放到开头没法用到索引

2024年湖南省考报名时间及流程,选岗很重要!

注册时间:2024年2月18日9:00-25日17:00 报名时间:2024年2月19日9:00-25日17:00 网上确认时间:2024年2月28日9:00-3月2日24:00 缴费时间:2024年2月28日9:00-3月2日24:00 打印准考证时间:2024年3月11日9:00-15日17:00 考…