最近疫情严重,口罩成了硬通货,有钱也不一定能买到。本地政府上线了预约购买口罩,需要准时抢。 第一反应就是写个脚本自动抢。抓包看了下接口很简单,只是验证码比较头疼。 验证码长这样:

首先去github搜索下验证码识别的项目,主要有两种:1.opencv降噪后用tesseract识别;2.用TensorFlow,PyTorch之类的机器学习框架训练模型。 这里有个合集:https://github.com/ZYSzys/awesome-captcha

先说第一种: 可以看这篇文章,https://www.cnblogs.com/qqandfqr/p/7866650.html 这里的问题是干扰线比较粗,去不干净。最后识别率很低,没法用。

再看第二种: 思路很简单:拿到大量(万级别)验证码图片并标注,训练之,生成个模型。 问题是怎么拿到大量标注好的验证码图片呢?可以花钱找打码平台识别,但是现在很多打码平台都被封了。 自己生成呢?得跟要识别的验证码图片样式一样才行。 机智如我,看预约口罩的接口是java写的(url里有servlet),做这种政府项目的技术都很一般,生成验证码的代码估计也是复制来的。Google 搜索下"java 验证码",果然找到一篇教程,里面的验证码样式跟上面一样。 简直天助我也,果断复制代码生成一万个验证码图片,自带标注,美滋滋。 训练完后准确率高达90%。

最后顺利抢到了口罩。