注册
登录
提问时间:2018/7/26 16:25:09    楼主:未知网友   阅读量:706

在爬虫工作的过程中,我们见识了各种各样的验证码,有最简单的数字验证码、字母验证码以及数字加字母混和验证码,也有输入指定中文文字验证码以及输入带颜色的中文验证码,还有让人头疼的滑块验证码,更有变态的12306验证码。在爬虫过程中,遇到头疼的验证码该怎么识别呢?有哪些手段呢?

一、打码平台:很多爬虫工程师眼中最常用最简单的解决办法,只是需要花费一点点软妹币即可,像比较简单的字母数字验证码1分钱一次,中文字稍贵点,计算题又再贵一点点,总之越复杂越贵,至于打码平台哪个好,这里就不做推荐了。

二、机器学习:端到端数字字母识别神器,听起来就很高大上,根据识别难度和长度不同,对标注数据的需求量不一样,当然图片预处理也稍微有些区别。这个比较复杂,一两句话不能说明白,网上找找资料一大把。

三、OCR库:这个虽然听起来也很厉害的样子,但是这个词已经很古老了,另外,传统的ocr采用先切割再识别的方案,对于新型的验证码已经很难做了,不建议大家尝试这个方案。

四、其他手段:对于一些特殊验证码,比如12306这个变态的验证码不仅需要识别结果,还需要识别问题等等。单个问题单个对待,可能需要结合多重知识,这里就不展开讲了。

识别验证码一直是爬虫工程师的基本功,特别对于有登录需求的爬虫来说,验证码也是一道绕不过去的坎,掌握一定的验证码识别技能,有助于爬虫工作的顺利进行。