Python 识别携程中文验证码(95%正确率)并自动登陆携程+图灵图像验证码识别平台

Python 识别携程中文验证码(95%正确率)并自动登陆携程+图灵图像验证码识别平台

这两天有一个业务需求,需要登陆不同的携程账号获取订单信息,但是由于携程有验证码检测机制,而且是个中文验证码比较难识别,试了几家人工打码平台,要么贵,要么延时高,要么没办法24小时运行。最后总算让我找到一个可以通过机器识别出来的API接口,准确率超级高而且延迟只有0.03s左右。(不算上传图片的时间)

首先看一下携程验证码长啥样。。。

携程验证码分为小图和大图部分,小图部分如下:

 

 

 大图部分的样子如下: 

 原理是要先识别小图的文字,然后点击到大图对应文字的正确位置。

这里借助了图灵验证码识别平台,不是人工打码的,所以识别很快,准确率也挺高:

在线图片验证码识别平台-图像验证码识别打码平台-图片验证码打码平台-图灵

官网网址:http://fdyscloud.com.cn

进入图灵验证码识别平台,点击中文类型: 

 可以看到图灵识别平台提供的几个中文识别模型。我们这里需要用到的就是 中文通用类型 和 图片识别类型9。分别点进去,会告诉你对应的模型ID和接口的调用方式。

 我们也可以直接在网站上先上传图片测试一下该模型的识别效果,如下图:

 可以看到效果是很好的,所有的字和位置都识别得相当准确!牛逼!

废话不多说,直接发调用的Python代码吧,其实网站上也写得很详细了。

小图部分识别:

import base64 import json import requests # 复制以下代码,只需填入自己的账号密码、待识别的图片路径即可。 # 关于ID:选做识别的模型ID,会自动生成,无需修改。 def b64_api(username, password, img_path, ID): with open(img_path, 'rb') as f: b64_data = base64.b64encode(f.read()) b64 = b64_data.decode() data = {"username": username, "password": password, "ID": ID, "b64": b64} data_json = json.dumps(data) result = json.loads(requests.post("http://www.tulingtech.xyz/tuling/predict", data=data_json).text) return result if __name__ == "__main__": img_path = "C:/Users/Administrator/Desktop/file.jpg" result = b64_api(username="你的账号", password="你的密码", img_path=img_path,) print(result)

 大图部分识别:

import base64 import json import requests # 复制以下代码,只需填入自己的账号密码、待识别的图片路径即可。 # 关于ID:选做识别的模型ID,会自动生成,无需修改。 def b64_api(username, password, img_path, ID): with open(img_path, 'rb') as f: b64_data = base64.b64encode(f.read()) b64 = b64_data.decode() data = {"username": username, "password": password, "ID": ID, "b64": b64} data_json = json.dumps(data) result = json.loads(requests.post("http://www.tulingtech.xyz/tuling/predict", data=data_json).text) return result if __name__ == "__main__": img_path = "C:/Users/Administrator/Desktop/file.jpg" result = b64_api(username="你的账号", password="你的密码", img_path=img_path,) print(result)

两者​除了post data里面的模型ID值不一样,其他部分都是一样的。

至此彻底解决了携程中文点选验证码的识别问题!!!

Read more

从历史到未来:UART协议演进中的波特率容错设计哲学

从历史到未来:UART协议演进中的波特率容错设计哲学 在嵌入式系统与工业通信领域,UART(通用异步收发器)协议如同一棵常青树,自1960年代诞生以来,历经半个多世纪的技术迭代,依然在工业控制、航空航天、科研仪器等关键场景中扮演着不可替代的角色。它的生命力不仅源于其简洁的异步通信机制,更在于其底层设计哲学中对容错性和可靠性的深刻理解。尤其是波特率容差设计,从早期电传打字机时代的机械同步到现代FPGA中的数字自适应算法,其演进历程折射出工程师对“不完美世界”的务实态度与创新精神。本文将带您穿越技术史的长河,剖析UART波特率容错机制的设计精髓,并探讨其在当代FPGA实现中的前沿实践。 1. UART协议的历史根基与容错起源 UART的诞生源于一个具体而微的需求:1960年代,DEC公司的工程师Gordon Bell需要将电传打字机(Teletype)连接到PDP-1小型计算机。当时的解决方案是用大约50个分立元件搭建了一块电路板,实现了最早的异步串行通信。1971年,西部数据公司推出了第一颗UART集成电路芯片WD1402A,从此将这一技术推向标准化和商业化。 在早期电传打字机

By Ne0inhk
博主亲测!Python+IPIDEA 自动化高效采集音乐数据

博主亲测!Python+IPIDEA 自动化高效采集音乐数据

文章目录 * 一、前言 * 二、全面认识 * 2.1 初步认识 * 2.2 实际使用感受 * 三、手把手教你:从0到1的完整流程 * 四、实战体验 * 五、超多场景预设,助力解决难题 * 六、用后感受 一、前言 最近想做个某云音乐每日推荐歌单存档小工具 —— 每天自动获取推荐歌曲,存成 Excel 方便回顾。结果刚跑了 3 天,代码就报网络异常,手动访问发现被平台限制了:刷新 10 次有 8 次跳验证,根本拿不到数据。 我一开始没当回事,试了两种办法:先是用免费代理池,结果要么失效快,要么访问速度比蜗牛还慢,歌单同步成功率不到 30%;后来手动换手机热点,每天要切 3 次

By Ne0inhk

【Python 爬虫实战】抓取 BOSS 直聘

一、前言 在求职或行业调研过程中,我们常常需要批量获取招聘平台的岗位信息,手动复制粘贴效率极低。本文将通过 DrissionPage 框架实现BOSS 直聘大数据开发岗位的批量爬取,无需分析复杂的页面元素,直接监听接口数据包获取 JSON 数据,最终将结果存入 CSV 文件,全程代码简洁易懂,新手也能快速上手。 本次实战目标 1. 监听 BOSS 直聘岗位列表接口,获取结构化 JSON 数据 2. 提取岗位名称、公司、薪资、学历要求等核心信息 3. 将爬取结果批量存入 CSV 文件,方便后续数据分析 4. 实现自动翻页,爬取前 20 页的岗位数据 二、环境准备 1. 所需 Python 库 本次实战核心使用 DrissionPage 框架(

By Ne0inhk
Python入门:Python3 pyecharts模块全面学习教程

Python入门:Python3 pyecharts模块全面学习教程

Python入门:Python3 pyecharts模块全面学习教程 Python入门:Python3 pyecharts模块全面学习教程,这篇 pyecharts 学习教程围绕 Python 数据可视化展开,先介绍 pyecharts 基于 ECharts、Python 友好、支持交互式操作、图表类型丰富且高可定制的核心优势;接着详解其安装方法(主流的 pip 一键安装与备用的源码安装)及版本验证方式,并提供常用图表 “类型 - 类名 - 导入方式” 速查表;随后以月度销售额柱状图为案例,演示从数据准备、图表创建到渲染的基础流程,进阶部分通过 set_global_opts 配置标题、坐标轴、工具箱等让图表更专业,还讲解 10 + 内置主题(如亮色系 LIGHT、暗色系 DARK)的切换技巧,最后给出尝试其他图表、

By Ne0inhk