首页 > 编程语言 >使用 Ruby 识别英文数字验证码

使用 Ruby 识别英文数字验证码

时间:2024-10-21 12:31:55浏览次数:5  
标签:end text 验证码 captcha path 识别 Ruby response

  1. 环境准备
    在开始之前,确保安装以下 gem:

bash

gem install rmagick httparty tesseract-ocr
你还需要确保已经安装了 Tesseract OCR 引擎,并配置好其路径。

  1. 下载验证码图片
    使用 HTTParty 下载验证码图片并保存到本地:

ruby

require 'httparty'

class CaptchaDownloader
def self.download_captcha(url, save_path)
response = HTTParty.get(url)
if response.success?
File.open(save_path, 'wb') do |file|
file.write(response.body)
end
puts "验证码图片已保存为 #{save_path}"
else
puts "下载失败: #{response.code}"
end
end
end
3. 图像处理与 OCR 识别
使用 RMagick 和 tesseract-ocr 进行 OCR 识别:

ruby

require 'rmagick'
require 'tesseract-ocr'

class CaptchaRecognizer
def self.recognize_captcha(image_path)
image = Magick::Image.read(image_path).first
text = Tesseract::Engine.new.do_ocr(image)

puts "识别结果: #{text.strip}"
text.strip

end
end
4. 自动化登录
使用 HTTParty 发送 POST 请求,模拟登录操作:

ruby
更多内容联系1436423940
class Login
def self.login(username, password, captcha)
url = 'https://captcha7.scrape.center/login'
response = HTTParty.post(url, body: { username: username, password: password, captcha: captcha })

if response.success?
  puts "登录成功"
else
  puts "登录失败: #{response.code}"
end

end
end
5. 主程序
整合上述代码,创建主程序:

ruby

class Program
def self.run
captcha_url = 'https://captcha7.scrape.center/captcha.png'
captcha_path = 'captcha.png'

# 下载验证码图片
CaptchaDownloader.download_captcha(captcha_url, captcha_path)

# 识别验证码
captcha_text = CaptchaRecognizer.recognize_captcha(captcha_path)

# 模拟登录
unless captcha_text.nil?
  Login.login('admin', 'admin', captcha_text)
end

end
end

Program.run

标签:end,text,验证码,captcha,path,识别,Ruby,response
From: https://www.cnblogs.com/ocr1/p/18489190

相关文章

  • 使用 C# 识别英文数字验证码
    环境准备在开始之前,请确保你的项目中引用了以下NuGet包:TesseractRestSharp在VisualStudio中,你可以通过NuGet包管理器安装它们:bashInstall-PackageTesseractInstall-PackageRestSharp确保你已安装TesseractOCR引擎,并将其路径配置在系统环境变量中。下载验......
  • 泥石流山体滑坡监控AI视觉识别检测算法
    泥石流山体滑坡监控AI视觉识别检测算法基于AI视觉识别技术,泥石流山体滑坡监控AI视觉识别检测算法通过监控摄像头采集到的图像和视频流,利用先进的视觉识别算法分析和判断监控画面中是否出现泥石流和山体滑坡现象。泥石流山体滑坡监控AI视觉识别检测算法一旦系统识别到灾害事件的发......
  • PbootCMS后台登录验证码不显示或者看不清楚解决办法
    1.避免使用中文路径原因:中文路径可能会导致某些文件无法正确加载,从而影响验证码的显示。解决方案:确保网站的所有文件和目录名称均为英文或数字。如果已经使用了中文路径,建议重新部署网站,使用英文或数字命名。2.切换PHP版本原因:不同版本的PHP对验证码生成的支持程度......
  • 人脸识别-特征算法
    文章目录一、LBPH算法1.基本原理2.实现步骤3.代码实现二、Eigenfaces算法1.特点2.代码实习三、FisherFaces算法1.算法原理2.算法特点3.代码实现四、总结人脸识别特征识别器是数字信息发展中的一种生物特征识别技术,其核心在于通过特定的算法和技术手段,从人脸图像中......
  • 使用 JavaScript (Node.js) 实现验证码识别与自动化登录
    安装所需依赖首先,确保你已经安装了Node.js。然后,使用npm安装所需的库:bashnpminstallaxiosjimptesseract.js2.下载验证码图片使用axios下载验证码图片并保存到本地:更多内容联系1436423940javascriptconstfs=require('fs');constaxios=require('axios');......
  • 人脸识别系统Python深度学习opencv人工智能Keras Tensorflow源码
    项目描述基于opencv,Keras,Tensorflow的人脸识别安装好Anaconda,否则很多科学计算的库要手动安装很麻烦安装好TensorFlow,下面是最简便的方法(但是安装的是cpu版本,但速度相对于GPU版的稍微慢#安装TensorFlowcpu版pipinstalltensorflow#安装keras框架pipinstallkeras#安......
  • 如何自动识别CAD图中所有表格数据并导出
    在CAD图中自动识别并导出表格数据,是相关领域数据处理的重要需求。由于CAD图形并不像传统的电子表格那样具备明确的行列关系,表格常以线条和文本形式存在,手动提取不仅费时费力,还容易出错。如何通过自动化工具通过图形解析快速、高效地识别表格结构,提取数据并导出至Excel、CSV等格式......
  • SSM国际物流航空运输管理rd982 验证码校验登录
    开题报告内容一、选题背景及意义随着全球化和信息化的发展,国际物流行业迎来了前所未有的发展机遇。航空运输作为国际物流的重要组成部分,具有速度快、效率高的特点,对于满足现代企业对物流时效性的需求具有重要意义。SSM国际物流航空运输管理rd982项目旨在通过开发一套基于SSM......
  • mac 系统更新ruby
    mac系统更新rubymac系统更新遇到的机器坑爹的情况:无法更新ruby的情况,就是更新的时候提示版本过低无法更新前提知晓:HomebrewHomebrew是macOS和Linux系统上的一个流行的包管理器,用于简化软件的安装、管理和配置。它允许用户通过简单的命令行界面来安装、更新和卸载各种......
  • PbootCms后台登陆不显示验证码(阿里云虚拟主机)
    进入虚拟主机管理页面在控制台中找到并点击“云虚拟主机”或类似的选项,进入虚拟主机管理页面。进入高级环境设置选择您需要配置的虚拟主机实例,点击“管理”按钮。在虚拟主机管理页面中,找到并点击“高级环境设置”。进入PHP.INI设置在高级环境设置页面中,找到“PH......