图片验证码介绍
图片验证码介绍
介绍
验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写。也就是说,这个东西最开始设计的目的,就是为了区分请求来自机器还是人类。可想而知,验证码就是为了反爬而生的。如果这个世界没有爬虫,可能也就不会诞生验证码
早期,那个时候验证码只是能够把一些简单的文字转换成图片让来识别,但也是一大杀器了。因为在 OCR 技术(Optical Character Recognition,光学字符识别)还不发达的时候,验证码可以说秒杀所有的爬虫。但是后来随着 OCR 的发展,识别验证码已经沦落为机器学习的入门课程,成了学生练手项目。最开始无敌的验证码,就这样被时代秒杀了
现在的验证码变得越来越奇葩,已经不仅仅是图片识别成文字的形式了。例如 Google 的找出自行车、12306 的找出手表,甚至一些网站的出现各种动态验证码等等,原本用于识别人类的验证码,逐渐变得越来越反人类
为什么越来越反人类?
随着老龄化的到来,越来越多的年龄极端人开始使用互联网。这个时候你用验证码让他算一个复杂的算式?或者让他找出图片里的佩奇——“嗯?啥是佩奇?”。验证码已经很难检测人类了,误伤人类的本事倒是越来越大。
使用场景
- 注册
- 登录
- 频繁发送请求时,服务器弹出验证码进行验证
- ...
处理方案
-
手动输入(input) 这种方法仅限于登录一次就可持续使用的情况
-
图像识别引擎
-
Tesseract
- Tesseract,一款由HP实验室开发由Google维护的开源OCR引擎,特点是开源,免费,支持多语言,多平台。
-
TensorFlow
- TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习,目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索
-
PyTorch
-
-
打码平台
爬虫常用的验证码解决方案