“
阅读本文大概需要 3 分钟。
”验证码是计算机领域发明的一大障碍,它已经成为爬虫工程师最大的拦路虎,是爬虫工程师必须要面对的一道屏障。
![85b315df412cc3413537ff23ca49871e.png](https://i-blog.csdnimg.cn/blog_migrate/f84e8b6f1ada000fea63e28da2681848.png)
面对上面这种无干扰且较规整的字符型验证码,Python PIL 尚且可以一战。但如果是下面这样带干扰的呢?
![c8187cfba2216f29aa2c5d665734c3d8.png](https://i-blog.csdnimg.cn/blog_migrate/f4e2e9e3eaf55c8f602ce27557ca4ac4.png)
不要以为简单的灰度、二值化就能够解决问题。验证码的形态多变,仅仅是字符型验证码都能玩出多种花样:
![56a045342f8fcc226c02d302f66782dc.png](https://i-blog.csdnimg.cn/blog_migrate/ee65059b338123939b20bce96284a26e.png)
面对这种花里胡哨的验证码,Python PIL 也只能一声叹息了。何况后续还出现了行为验证码(滑动验证码、滑动拼图验证码、文字点选验证码、图标点选验证码、空间验证码等等):
![c28505b1deefaf3676989a0e8f965e4c.png](https://i-blog.csdnimg.cn/blog_migrate/f64335754b8556b9146a3231e802fb8f.png)
![b7ea367c0295c1a7b4b251e911673da7.png](https://i-blog.csdnimg.cn/blog_migrate/66d083346062877c14eabff7c8c6c58f.jpeg)
这就相当为难人了。好在后来近年来深度学习和计算机视觉技术飞速发展,我们可以利用深度学习来识别上面列举的验证码。网上关于深度学习识别验证码的文章不少,相信大家或多或少的见过,效果确实很好。但当你将它应用到实际工作中的时候,你就会遇到新的问题:
1.哎!这验证码的长度怎么不