news 2026/1/1 0:20:54

通用轨迹验证码识别代码

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
通用轨迹验证码识别代码

一、简介

现在各个网站反爬措施越来越丰富。反爬方式也越来越难,轨迹验证码就是防御的最好措施,下面最近最近收集到不同网站轨迹验证码的图片样例。

轨迹的也从最开始的简单,变得越来越复杂。为了增加难度,轨迹也变得越来越不清晰,轨迹的颜色也和背景图融为了一体,可能连人眼都很难去区分。

这张图片轨迹还比较简单,轨迹比较直,没有曲线,而且轨迹和背景颜色差别较大,人眼容易区分。

这个网站的轨迹验证码难度就比较大,首先轨迹的颜色比较淡,而且轨迹都是曲线。甚至还有船行驶的轨迹作为干扰,很容易让模型把船行驶的轨迹错误识别为需要鼠标滑动的轨迹。

这个网站的轨迹变得更加不清晰,颜色都是和雾气一样弥散的,轨迹没有明显的分界线。而且比较浅的颜色也容易和背景元素融为一体,甚至行程遮挡关系。只能说是难上加难。

二、识别代码

为了解决越来越多的轨迹识别问题,我们收集了大量图片,标记了大量数据。我们训练出了一个比较完美的模型,几乎可以通用类似的所有轨迹验证码

下面是识别的代码,代码的使用也很简单,只需要上传上面的轨迹图片就行,最后会得到滑动的轨迹。

import base64 import requests import datetime from io import BytesIO from PIL import Image t1 = datetime.datetime.now() #PIL图片保存为base64编码 def PIL_base64(img, coding='utf-8'): img_format = img.format if img_format == None: img_format = 'JPEG' format_str = 'JPEG' if 'png' == img_format.lower(): format_str = 'PNG' if 'gif' == img_format.lower(): format_str = 'gif' if img.mode == "P": img = img.convert('RGB') if img.mode == "RGBA": format_str = 'PNG' img_format = 'PNG' output_buffer = BytesIO() # img.save(output_buffer, format=format_str) img.save(output_buffer, quality=100, format=format_str) byte_data = output_buffer.getvalue() base64_str = 'data:image/' + img_format.lower() + ';base64,' + base64.b64encode(byte_data).decode(coding) # base64_str = base64.b64encode(byte_data).decode(coding) return base64_str # 加载图片 img1 = Image.open(r'E:\Python\lixin_project\OpenAPI接口测试\test_img\84.jpg') # 图片转base64 img1_base64 = PIL_base64(img1) 验证码识别接口 可以根据自己网络情况选择不同接口 http://bq1gpmr8.xiaomy.net(电信) http://220.167.181.200:9009(移动、电信、联通) # 验证码识别接口 url = "http://220.167.181.200:9009/openapi/verify_code_identify/" data = { # 用户的key "key":"onNYnzzAWPO8E0bPDmJv", # 验证码类型 "verify_idf_id":"84", # 样例图片 "img_base64":img1_base64, } import json print(json.dumps(data)) header = {"Content-Type": "application/json"} # 发送请求调用接口 response = requests.post(url=url, json=data, headers=header) # 获取响应数据,识别结果 print(response.text) print("耗时:", datetime.datetime.now() - t1)

识别后的图片可视化

想了解更多验证码识别,免费测试效果请访问:https://bq1gpmr8.xiaomy.net/tool/verifyCodeHomePage2/?_=1765759147337

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/26 4:55:51

从工程资产到即时工具:AI 原生软件开发与氛围编程的范式分化

目录 前言1. 两种开发模式的起点差异1.1 AI 原生软件开发的基本立场1.2 氛围编程的基本立场 2. 对软件工程原则的态度分化2.1 AI 原生软件对传统工程原则的延续2.2 氛围编程对工程约束的主动放弃 3. 技术栈与工具链的分野3.1 AI 原生软件的技术栈特征3.2 氛围编程的极简技术形态…

作者头像 李华
网站建设 2025/12/25 19:55:10

Seed-Coder-8B-Base vs GitHub Copilot:谁才是真正的代码王者?

Seed-Coder-8B-Base vs GitHub Copilot:谁才是真正的代码王者? 在今天,一个开发者打开编辑器写代码时,可能已经不再“孤军奋战”——AI 正悄然坐在你身边,提笔、补全、纠错,甚至帮你写出整个函数。这种变化…

作者头像 李华
网站建设 2025/12/27 4:57:19

使用Miniconda定制专属AI镜像,提升GPU算力利用率

使用Miniconda定制专属AI镜像,提升GPU算力利用率 在现代AI研发的战场上,算力就是生产力。一块A100 GPU每小时的使用成本可能高达数十元,但在许多团队中,这些昂贵资源却常常因“环境问题”而闲置——依赖冲突、CUDA版本不匹配、包…

作者头像 李华
网站建设 2025/12/27 7:08:19

监控运维面试题.运维工程师面试题

一、基础概念题(8 题) 监控的核心目标是什么?运维监控的 “黄金指标” 有哪些? 参考答案: 核心目标:提前预警故障、快速定位根因、保障业务连续性、优化资源利用率。 黄金指标(参考 Google SRE 标准): 可用性(Availability):服务正常运行时间占比(如 99.99%); 延…

作者头像 李华
网站建设 2025/12/27 1:27:47

好写作AI:你的“学术特种兵”,论文“战场”的破局神器

还在对着空白文档,感受“开头恐惧症”的暴击吗?据统计,超过76%的学生正经历着从“提笔难”到“完成难”的折磨-3。别怕,你的“学术特种兵”——好写作AI已就位,专为攻克论文“战场”而生。 好写作AI官方网址&#xff…

作者头像 李华
网站建设 2025/12/27 2:02:11

算法上新|智慧加油站新算法

继104项通用算法发布后,我们针对智慧加油站发布垂直专用算法,深度融合加油站安全运营核心需求,覆盖作业规范监管、风险预警、安全防护等全环节,以AI技术重构全域加油站监管体系。 算法包括: 通过AI算法集群&#xff0…

作者头像 李华