一次简单的验证码识别以及思考

Python 通过调用百度的api实现简单的验证码识别 Pycharm 使用百度的api接口来实现验证码的识别 阅读详情

验证码识别以及思考

验证码

验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。可以防止:恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,实际上用验证码是现在很多网站通行的方式,我们利用比较简易的方式实现了这个功能。这个问题可以由计算机生成并评判,但是必须只有人类才能解答。由于计算机无法解答CAPTCHA的问题,所以回答出问题的用户就可以被认为是人类。

验证码通常用于网站的登录,以区分是否是人类的行为还是机器的行为。启用验证码是反爬虫、反黑客的常用手段之一。然而,随着技术的不断进步,特别是machine learning的发展,普通的验证码识别也不是很复杂的事情。

识别验证码的架构

在搭建识别验证码服务之前需要完成两件事情。

  1. 使用现有的爬虫采集好图片验证码,并标注好这些图片。这里,我使用自己开发的图片爬虫程序PicCrawler。所谓标注,就是用肉眼去正确地识别出图片中的数字和字母,然后用这些数字和字母作为图片的名字。

  2. 使用tensorflow来训练这些验证码生成模型,每一批的验证码至少几千起。这样,训练好的模型可以通过tensorflow的api来加载。
    做完这些事情之后,需要考虑使用怎样的方式整合到现有的框架中。

  • 最初的架构
    在这里插入图片描述

最初考虑使用OpenCV来加载模型,因为OpenCV有Java的API。然后Vert.x跟OpenCV进行交互。在这个架构中有线上的模型和离线的模型,线上的模型是生产环境中使用的模型。每次训练好的离线模型可以替换线上的模型。但是OpenCV加载模型时遇到了问题,于是尝试另一种办法。

  • 后来的尝试

用tensorflow java api替换OpenCV来加载模型,这种方式也遇到了问题,不得不使用最后的方式。

  • 最终的架构
    在这里插入图片描述

使用python的web框架flask以及tensorflow python api来加载模型。在这个架构中,需要Vert.x调用flask暴露的接口,最后将识别的结果返回。
在这里插入图片描述
在这里插入图片描述
最终,接口返回的数据跟图片中验证码的内容一致。算是完成了一次验证码的识别。

思考

目前,只能识别1、2种验证码,未来会将多种验证码进行打标签,然后训练到一个模型中。

验证码的功能打算整合到爬虫框架NetDiscovery中,成为它的一个组件。由于爬虫框架是开源的,所以大家都可以免费使用这个模块。

如有疑问,欢迎在评论区一起讨论!

如有不正确的地方,欢迎指导!

Python处理并识别简单验证码 识别验证码 在爬取网站的时候有时会遇到有网站验证码的情况,如果你有钱,可以去找一些打码平台,接码平台,方便易操作,但是像我这样的穷学生就只能自己想想办法了,现在还是只能识别一些简单的的验证码 ps:这篇文章不知道已经被别人抄了多少遍了,连原文的地址都不粘贴,好气啊,今天我想了想还是在头条发出来吧。 在python爬虫爬取某些网站的验证码的时候可能会遇到验证码识别的问题,现在的验证码大多分为四类: 计算验证码 滑块验证码 识图验证码 语音验证码 这篇博客主要写的就是识图验证码,识别的是简. 阅读详情

相关推荐

验证码识别技术研究

内容提要:随着近年来信息化技术的不断提高,验证码识别逐渐渗透入了网络的各个领域。本文主要讨论验证码识别的思路和方向,识别系统设置中需要考虑的相关重点。 一·识别系统的设计: 1.图像二值化 图像二值化:图像显示的时候只能看到两种颜色(经常是黑色和白色) 采用阀值判定法。阀值的选择非常重要,如果选择不好,要么保留了很多噪声信息,要么丢失了很多有用信息。 2.图像的腐蚀

a343390605的专栏 2825

图形验证码识别接口(免费)

一、效果演示:http://www.bhshare.cn/imgcode/demo.html 本地图片识别 网络图片识别 二、免费api接口 接口地址:http://www.bhshare.cn/imgcode/ 请求类型:post 接口参数: 参数名 类型 是否必需 备注 token String 是 用户标识(token 免费获取:http://www.bhshare.cn/imgcode/gettoken) type String 是 识别类型。”online“:网络图片识

薄荷你玩的博客。个人博客:薄荷分享【www.bhshare.cn】 2万+

验证码识别接口生成器-源码

JAVA代码简单实现识别码的切割训练和接口生产,你只需要花费一点时间,进行验证码的手动识别,当密钥库的数量达到一定数量时,接口识别的验证码就越来越准确

图形验证码识别API接口分享-JAVA版

图形验证码识别API接口分享

weixin_60940255的博客 2350

完美验证码识别系统V2.0

识别工具完全免费,不收取任何费用,也没有任何功能限制,可以被各种语言调用(只要该语言支持调用DLL).

Tensorflow简单验证码识别应用

主要为大家详细介绍了Tensorflow简单验证码识别应用的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

使用百度的API进行验证码识别(图片形式的文字验证码与字母验证码)

通过百度的API进行OCR识别,介绍如何领取免费次数与创建应用

weixin_46878272的博客 3487

爬虫-免费验证码打码接口(简单)

本接口可以识别简单数字+英文字符(区分大小写)不定长验证码,成功率可达80%以上。

【免费】在线识别通用验证码接口

使用量小的完全够用了后台获取token 填入即可,支持base64和网络文件识别图片个人觉得,不错很好用,

2374

别再只测电压了!用STM32G474的ADC玩点花的:过采样提升精度与多通道扫描实战

本文深入探讨了STM32G474系列单片机的ADC高级应用,包括硬件过采样技术实现16位精度和多通道扫描结合DMA的自动数据采集方案。通过详细的配置步骤和实战案例,帮助开发者突破传统电压测量局限,提升信号采集精度和系统效率,适用于工业监控、医疗设备等高精度应用场景。

weixin_42647395的博客 240

Windows系统下复现PointNet++算法

本文详细介绍了如何在Windows系统下复现PointNet++算法,内容包括程序下载、环境配置、数据集准备以及三个主要任务(语义分割、分类、部件分割)的实现步骤和常见报错解决方法。通过遵循本文的指导,用户可以顺利完成PointNet++算法的复现。

LingYi_5的博客 4326

【破解旋转验证码】百度拖动旋转验证码识别方案

前言 百度的验证码又双叒更新了,这次在图片请求和图片库上又做了手脚。 当然出于好奇,猫又拿起了键盘开始挑战。 正文来了。 先来看看继上次破解百度旋转验证码后,百度的大佬又做出了哪些改变。 首先来看下我们获取到的图片: 截图是这个亚子的 后台拿到的却是这个亚子的 哦呦,这个马赛克有点东西的呀~ 图片抓下来都不一样还咋识别,百度这里也是煞费苦心,给您点个赞。 不过话说回来,就算这样也难不住我们的呀,这里我思考了一下还有几种方式来获取这个图片: 1 .通过系统级鼠标来获取 2 .通过网页截图来获

香芋味的猫 4万+

Visual Studio 2022调试Godot 4 C#项目全攻略:从环境配置到断点调试

本文详细介绍了如何配置Visual Studio 2022以高效调试Godot 4 C#项目。从环境搭建、外部编辑器设置到两种核心调试模式(附加到进程与启动配置)的实战指南,帮助开发者构建无缝的工业级工作流,解决编码乱码、断点失效等常见问题,大幅提升开发与问题排查效率。

bush的博客 392

爬虫遇到头疼的验证码?Python实战讲解弹窗处理和验证码识别

前言 在我们写爬虫的过程中,目标网站常见的干扰手段就是设置验证码等,本就将基于Selenium实战讲解如何处理弹窗和验证码,爬取的目标网站为某仪器预约平台 可以看到登录所需的验证码构成比较简单,是彩色的标准数字配合简单的背景干扰**** 因此这里的验证码识别不需要借助人工智能的手段,可直接利用二值法对图片处理后交给谷歌的识别引擎tesseract-OCR即可获得图中的数字。 注:selenium 和 tesseract 的配置读者可自行搜索,本文不做介绍) Python实战 首先导入所需模块 import

早起Python 2045

grpc安装与简单demo测试

grpc安装: 由于工作需要,最近在学google的rpc开源框架;由于本人菜鸟一枚,而且是从Windows开发转到Linux;由于之前版本控制使用的是svn,没有使用过git,所以从GitHub上下载代码是通过浏览器下载zip格式的压缩文件,折腾了好几天了,发现了各种坑,各种缺少库,各种不知道怎么把这个库给装机器上。对于一个不熟悉Linux的人来说,这个体验简直糟糕透了。没办法了又在机器上装了...

old__captain的博客 4834

仿真学习系列(四十二):Sigrity仿真之走线阻抗和耦合检查

在高速电路设计中,走线的阻抗和信号线之间的耦合是影响信号完整性的重要因素。设计中可能会出现多种情况,导致阻抗变化或不匹配,例如线宽的变化、跨层分割等。传统的人工检查方法常常不够高效且易忽视细节。借助仿真软件,可以快速定位问题区域,并进行精确分析,从而有效避免或减少信号反射和串扰带来的影响。

案例文章,高速信号 425

Python实现验证码识别和登录

在本文中,我们探讨了如何使用Python来自动识别数字验证码,并将其应用于实际场景中,如自动化登录网站。我们首先介绍了验证码的概念以及为什么它们在网络安全和用户验证中如此重要。然后,我们讨论了使用Python和一些常见的库和工具(如Pillow、Scikit-learn和Selenium)来实现验证码识别的基本步骤。我们从预处理验证码图像开始,介绍了如何将图像转换为灰度图像、二值化处理、调整大小和标准化。接下来,我们讨论了如何使用机器学习模型(如支持向量机)来训练和识别验证码。

xiaocai 2651

【考研复试】西安电子科技大学上机题

【考研复试】西安电子科技大学上机题

全网粉丝30W+,优快云、稀土掘金人工智能领域签约作者,人工智能、大模型、Python 爬虫,商务合作,请私信沟通。 1742

AutoGPT能否识别验证码?图形识别能力边界测试

本文探讨AutoGPT在面对图形验证码时的能力边界。由于其基于纯文本的语言模型架构,原生AutoGPT无法识别图像内容。但通过集成OCR工具或第三方打码服务,可在技术上实现有限突破。文章分析了本地识别、远程调用与行为验证等方案,并强调隐私、合规与系统安全的重要性。

weixin_42576467的博客 1352

用 XCO_CP_XLSX 在 ABAP 中写 Excel:从写入访问到样式控制的完整指南

本文介绍了在 ABAP 环境中使用 XCO_CP_XLSX 模块导出 Excel 报表的完整实践方案。文章从获取写入访问权限开始,详细讲解了基于 row_stream 的批量数据写入和基于 cursor 的精细控制两种方法,并提供了创建新文档、添加工作表、设置样式等关键操作示例。通过分层抽象的工作簿-工作表-单元格模型,开发者可以灵活应对企业应用中常见的报表导出需求,特别是在 SAP BTP 和 S/4HANA Cloud 环境下实现高效可靠的 Excel 文件生成与处理。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 168

深度学习+遥感:2025最新土地利用分类资源大全(数据集/论文/代码)

近年来,深度学习在遥感影像土地利用分类领域取得了突破性进展,从传统的农田、森林识别,到复杂的城市功能区划分,AI正在重新定义我们对地表覆盖的认知。无论是科研还是工程应用,高质量数据集、前沿算法和开源工具都是成功的关键。本文精心整理了2024年最值得关注的土地利用分类资源,包括:✅ 10+个权威数据集(覆盖全球、多分辨率、多光谱/雷达)✅ 15+篇顶会论文(CNN/Transformer/自监督学习等SOTA方法)✅ 6大开源工具箱(PyTorch/Keras实现,即拿即用)

hanfeng5268的博客 1314

【验证码识别】OpenCV挑战百度拖动旋转图片角度验证码

前言 百度的验证码又双叒更新了。 当然出于好奇,猫又拿起了键盘开始挑战。 正文来了。 先来看看继上次破解百度旋转验证码后,百度的大佬又做出了哪些改变。 1.抓取图片时加上了马赛克 2.增加了图片库 抓取图片时加上了马赛克 截图是这个亚子的 后台拿到的却是这个亚子的 哦呦,这个马赛克有点东西的呀~ 图片抓下来都不一样还咋识别,百度这里也是煞费苦心,给您点个赞。 不过话说回来,就算这样也难不住我们的呀,这里我思考了一下还有几种方式来获取这个图片: 1 .通过系统级鼠标来获取 2 .通过网

19万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

一个短信验证码功能引发的总结思考

从简单的功能探寻背后的技术。 文章目录故事短信验证码设计总结1、时间限制2、图形验证码限制 + 时间限制3、手机号+指定时间可以发短信次数限制4、IP及Cookie限制5、短信预警机制后记 故事 昨天看到一个地址,新用户免费领取X登读书APP的14天会员,2020年了,要开始读书了。看到这个活动是在笔记本上,于是用笔记本浏览器访问活动页面,输入手机号,收到验证码,填写验证码,领取这个会员。本...

阿飞云漫步 3413

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

上一篇: 5年 Python 功力,总结了 10 个开发技巧!网友:太实用了
下一篇: Python监控你的(女朋友/男朋友)每天都在看哪些网站
克金森沐沐
博客等级 码龄6年 694粉丝 64原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值