使用python及工具包进行简单的验证码识别
相信大家利用 Python 写的爬虫应该遇到过要输入验证码的尴尬局面,又或者写了个自动填充表单的小程序,结果就卡在了验证码上。
在ctf中有⼀一些题⽬目,本身有弱验证码识别绕过,那么我们怎么解决呢? 这⾥里里⽤用题⽬目
http://lab1.xseclab.com/vcode7_f7947d56f22133dbc85dda4f28530268/做实例例讲解
首先[Python] 纯文本查看 复制代码
发现脚本运⾏行行报错,然后开始装tesseract-OCR 准备⼯工作: 编译环境: gcc gcc-c++ make(这个环境⼀一般机器器都具备,可以忽略略)
[Python] 纯文本查看 复制代码
依赖的包: autoconf automake libtool libjpeg-devel libpng-devel
libtiff-devel zlib-devel leptonica(1.67以上) autoconf automake libtool
libjpeg-devel libpng-devel libtiff-devel zlib-devel 可以通过yum安装:
[Python] 纯文本查看 复制代码
leptonica 需要源码编译安装参考资料料:
http://paramountideas.com/tesseract-ocr-30-and-leptonica-installation-centos-55-and-opensuse-113http://www.leptonica.org/source/README.html下载leptonica 包: http://www.leptonica.org/source/leptonica-1.68.tar.gz 解压后切换到leptonica-1.68 根⽬目录
[AppleScript] 纯文本查看 复制代码
tesseract安装:
依赖安装完毕后开始安装tesseract
下载tesseract-3.01 安装包:http://tesseract-ocr.googlecode.com/files/ tesseract-3.01.tar.gz
解压后切换到tesseract-3.01 根⽬目录
(如果在make时遇到类似strngs.h:1: error: stray ‘\357’ in program 的错误,请将
tesseract-3.01/ccutil/strngs.h
⽂文件转为ANSI 编码保存,再重新编译)
[Python] 纯文本查看 复制代码
tesseract英⽂文语⾔言包安装:
下载tesseract-3.01
英⽂文语⾔言包: http://tesseract-ocr.googlecode.com/files/tesseract-ocr-3.01.eng.tar.gz 解压后将tesseract-ocr/tessdata 下的所有⽂文件全部拷⻉贝到/usr/local/share/tessdata 下
安装完毕. 测试⼀一下: 切换到解压后的tesseract-3.01 根⽬目录(这个⽬目录下有⼀一个⾃自带的phototest.tif
可以做测试⽤用) 命令⾏行行:
[Python] 纯文本查看 复制代码
输出:
[AppleScript] 纯文本查看 复制代码
这时应该在当前⽬目录⽣生成⼀一个phototest.txt ⽂文本⽂文件,内容就是phototest.tif 显示的⽂文字. 装完了了之后开始跑脚本


运⾏,等待得到结果

使用python及工具包进行简单的验证码识别的更多相关文章
- 使用python以及工具包进行简单的验证码识别
识别数字验证码 首先我们准备素材,4张验证码图片如下: 第一步: 打开图像. im = Image.open('temp1.jpg') 第二步: 把彩色图像转化为灰度图像.彩色图像转化为灰 ...
- 基于SVM的python简单实现验证码识别
验证码识别是一个适合入门机器学习的项目,之前用knn 做过一个很简单的,这次用svm来实现.svm直接用了开源的库libsvm.验证码选的比较简单,代码也写得略乱,大家看看就好. 1. 爬取验证码图片 ...
- Flask学习之旅--用 Python + Flask 制作一个简单的验证码系统
一.写在前面 现在无论大大小小的网站,基本上都会使用验证码,登录的时候要验证,下载的时候要验证,而使用的验证码也从那些简简单单的字符图形验证码“进化”成了需要进行图文识别的验证码.需要拖动滑块的滑动验 ...
- 使用TensorFlow 来实现一个简单的验证码识别过程
本文我们来用 TensorFlow 来实现一个深度学习模型,用来实现验证码识别的过程,这里识别的验证码是图形验证码,首先我们会用标注好的数据来训练一个模型,然后再用模型来实现这个验证码的识别. 1.验 ...
- Python+Request库+第三方平台实现验证码识别示例
1.登录时经常的出现验证码,此次结合Python+Request+第三方验证码识别平台(超级鹰识别平台) 2.首先到超级鹰平台下载对应语言的识别码封装,超级鹰平台:http://www.chaojiy ...
- 简单的验证码识别(opecv)
opencv版本: 3.0.0 处理验证码: 纯数字验证码 (颜色不同,有噪音,和带有较多的划痕) 测试时间 : 一天+一晚 效果: 比较挫,可能是由于测试的图片是在太小了的缘故. 原理: 验证码 ...
- Pyhthon爬虫其之验证码识别
背景 现在的登录系统几乎都是带验证手段的,至于验证的手段也是五花八门,当然用的最多的还是验证码.不过纯粹验证码识已经是很落后的东西了,现在比较多见的是滑动验证,滑动拼图验证(这个还能往里面加广告).点 ...
- python 简单图像识别--验证码
python 简单图像识别--验证码 记录下,准备工作安装过程很是麻烦. 首先库:pytesseract,image,tesseract,PIL windows安装PIL,直接exe进行安装更方便( ...
- 使用tensorflow搭建自己的验证码识别系统
目录 准备验证码数据 保存为tfrecords文件 验证码训练 学习tensorflow有一段时间了,想做点东西来练一下手.为了更有意思点,下面将搭建一个简单的验证码识别系统. 准备验证码数据 下面将 ...
随机推荐
- springMVC学习三 注解开发环境搭建
第一步:导入jar包 第二步:配置DispatcherServlet 前端控制器 因为此处把DsipatcherServlet的映射路径配置成了"/",代表除了.jsp文件之外, ...
- JS高级-***Function- ***OOP
1. ***Function 作用域(scope): 什么是: 一个变量的使用范围 为什么: 避免函数内外的变量间互相影响 包括: 2种: 1. 全局作用域: window 保存着全局变量: 随处可用 ...
- ubuntu新建、删除用户
新建用户名为newuser的用户,并赋予sudo权限 adduser newuser --ingroup sudo 删除用户以及用户目录 deluser -r newuser
- 2018.12.23 bzoj4516: [Sdoi2016]生成魔咒(后缀自动机)
传送门 samsamsam入门题. 题意简述:给出一个串让你依次插入字符,求每次插入字符之后不同子串的数量. 显然每次的变化量只跟新出现的nnn个后缀有关系,那么显然就是maxlenp−maxlenl ...
- CHAPITRE III
Il me fallut longtemps pour comprendre d'où il venait. Le petit prince, qui me posait beaucoup de qu ...
- main.cpp
/*main.cpp * *The starting point of the network simulator *-Include all network header files *-initi ...
- 深度优先搜索DFS和广度优先搜索BFS
DFS简介 深度优先搜索,一般会设置一个数组visited记录每个顶点的访问状态,初始状态图中所有顶点均未被访问,从某个未被访问过的顶点开始按照某个原则一直往深处访问,访问的过程中随时更新数组visi ...
- c# devexpress学习绘图
用字典方式存储数据并绘图:http://www.xuebuyuan.com/465384.html 数据库存储数据,并对图形作各种设置:http://www.cnblogs.com/xuhaibiao ...
- nginx负载均衡总结
在关于高并发负载均衡一文中已经提到,企业在解决高并发问题时,一般有两个方向的处理策略,软件.硬件,硬件上添加负载均衡器分发大量请求,软件上可在高并发瓶颈处:数据库+web服务器两处添加解决方案,其中w ...
- urb的处理流程
USB分析 2013年11月11日 16:06:24 阅读数:1807 转载自:http://blog.csdn.net/aaa6695798/article/details/4776202 很久 ...