在爬虫工作的过程中,我们会见到各种各样的验证码,有最简单的数字验证码、字母验证码以及数字加字母混和验证码,也有输入指定中文文字验证码以及输入带颜色的中文验证码,还有让人头疼的滑块验证码等等。在爬虫过程中,遇到头疼的验证码该怎么识别呢?有哪些方法呢?
一、打码平台。这是很多爬虫工程师眼中最常用最简单的解决办法,只是需要一点点花销即可,像比较简单的字母数字验证码最低,中文字稍贵点,计算题又再贵一点点,总之越复杂越贵,至于打码平台哪个好,这里就不做推荐了。
二、机器学习。端到端数字字母识别神器,听起来就很高大上,根据识别难度和长度不同,对标注数据的需求量不一样,当然图片预处理也稍微有些区别。这个比较复杂,一两句话不能说明白,网上资料有很多。
三、OCR库。这个虽然听起来也很厉害的样子,但是这个词已经很古老了,另外,传统的OCR采用先切割再识别的方案,对于新型的验证码已经很难做了,不建议大家尝试这个方案。
四、其他手段。对于一些特殊验证码,比如某购票网站那样的验证码不仅需要识别结果,还需要识别问题等等。单个问题单个对待,可能需要结合多重知识,这里就不展开讲了。
识别验证码一直是爬虫工程师的基本功,特别对于有登录需求的爬虫来说,验证码也是一道绕不过去的坎,掌握一定的验证码识别技能,有助于爬虫工作的顺利进行。