当前位置:网站首页>反爬之验证码识别登录 (OCR字符识别)
反爬之验证码识别登录 (OCR字符识别)
2022-06-26 08:30:00 【冯大少】
在当今大数据时代,数据在互联网上的传播和呈现方式多种多样,如何获取这些杂乱的数据呢?爬虫就是其中的一种方式,是当今互联网使用非常广泛的技术之一,现已应用于金融、房产、贸易与科技等诸多领域。无论是大数据计算、数据分析还是机器学习,都离不开爬虫。爬虫工作在很多时候是企业业务开展的基础与主线,将爬取内容进行清洗和处理,得到的就是极具价值的数据。
众多企业为了保证服务器的正常运转,反爬虫工程师们不得不使出各种各样的技术手段来阻止爬虫工程师们毫无节制地向服务器索取资源,例如JavaScript 混淆、WebSocket、字体、WebDriver、App、验证码反爬等等。
验证码是一张带有字符(中文,英文,数字等的图片,用户只需要将图片中的字符输入到文本框中即可,但这种简单的验证码很快就被绕过了。于是人们向图片中加入了一些混淆的元素,如斜线、彩色斑点,字符扭曲、角度旋转和文字重叠等等。
验证码是一张带有字符(中文,英文,数字等的图片,用户只需要将图片中的字符输入到文本框中即可,但有些网站却加入了一些混淆的元素,如斜线、直线,彩色斑点等带有干扰反爬目的,最近做的一个项目里,却遇到了网站上带有这样的反爬机制。经过用 Tesseract-OCR 去识别其中一些的验证码,发现有不同的结果,如下图,有些虽然可以识别,但却带了各种空格和换行符号,有些却完全识别不了,有些却错误识别为其他字符等等。其实 Tesseract-OCR 对于带干扰或者不规则排位的字符识别率不太高,即使用降噪方法,经过反复测试,结果还是一样。
据了解,除了简单的 OCR 识别,还可以通过机器学习和CNN 结合,但这种方法相对非常复杂,如果没有系统学习机器学习和CNN
这一方面的,好难完成。
验证码除了字符识别外,还有其他反爬识别机制,例如模块划动,拼图,按指定顺序点击字符、物体等等。
经过多次测试和观察其规律,发现这随机的验证码有一定的漏洞,每换验证码大概2-3次后,就会出现一个正常无干扰的码,因此我们可以通过添加一些条件,例如当遇到干扰无法识别时,自动换下一个验证码;当可以识别正常验证码时,经过测试,由于带有空格,换行符等,所以可以通过正则表达式或者其他方法( split, replace 等) 把所有空字符删除后,去比较字符串长度是否为4,有些半干扰验证码识别出来后,会多了一些符号,例如下图里最后一个,多了个中横线。所以经过这思路,我们可以添加一个循环结合这些条件去判断执行代码,当完全符合条件时候,就 break 终止这循环,然后执行下一步。
通过把 “VRZD” 这个验证码用正则处理后,得到长度为4位的str, 这样就可以成功通过验证。虽然这个方法不是最直接的,但如果在有限的方法里,只要多观察规律变化,总可以有方法去实现你要的结果。


边栏推荐
- Recovering the system with Clonezilla USB disk
- Matlab drawing checkerboard (camera calibration)
- Google Chrome collection
- Segmentation of structured light images using segmentation network
- Performance comparison of unaryexpr's function on matrix elements in eigen Library
- Batch modify file name
- Principle of playing card image segmentation
- First character that appears only once
- 73b2d wireless charging and receiving chip scheme
- 9. code generation
猜你喜欢

Matlab drawing checkerboard (camera calibration)

Euler function: find the number of numbers less than or equal to N and coprime with n

Detailed process of generating URDF file from SW model

Intra class data member initialization of static const and static constexpr

Interpretation of x-vlm multimodal model

Koa_ mySQL_ Integration of TS

(2) Buzzer

Simulation of parallel structure using webots

Whale conference one-stop intelligent conference system helps organizers realize digital conference management

Design based on STM32 works: multi-functional atmosphere lamp, wireless control ws2812 of mobile app, MCU wireless upgrade program
随机推荐
optee中的timer代码导读
I Summary Preface
WBC learning notes (II): practical application of WBC control
Summary of mobile terminal lightweight model data
三菱PLC若想实现以太网无线通讯,需要具备哪些条件?
Discrete device ~ resistance capacitance
Timer code guide in optee
Digital image processing learning (II): Gaussian low pass filter
Object extraction_ nanyangjx
Compiling owncloud client on win10
OpenGL display mat image
利用无线技术实现分散传感器信号远程集中控制
Exploration of webots and ROS joint simulation (II): model import
Detailed explanation of SOC multi-core startup process
Fourier transform of image
optee中支持的时间函数
Optimize quiver function in MATLAB to draw arrow diagram or vector diagram (1) -matlab development
软件工程-个人作业-提问回顾与个人总结
Principle of playing card image segmentation
Parameter understanding of quad dataloader in yolov5