《用机器/深度学习过爬虫验证码》
文章平均质量分 86
本专栏旨在带大家学会如何用用机器学习或深度学习过掉各种各样的爬虫验证码,靠打码平台不如靠自己。
la_vie_est_belle
热爱代码
展开
-
用yolov5识别点选验证码中的目标内容
如果要过掉点选验证码,首先就要获取目标点选内容的坐标位置,我们可以训练一个yolov5模型来实现这一功能。在本节,我们拿凯格行为验证码来进行演示,验证码图片如下所示。原创 2023-04-28 18:25:10 · 1677 阅读 · 2 评论 -
《用机器/深度学习过爬虫验证码》
本专栏旨在带大家学会如何用用机器学习或深度学习过掉各种各样的爬虫验证码,同时还会涉及到一些跟图像处理有关系的内容,比如验证码图片切割、图片回正等。原创 2023-04-27 18:31:38 · 343 阅读 · 0 评论 -
图像角度回正的几种方案
在识别某些验证码(如点选验证码)的时候,我们会看到验证码图片上要求点选的内容是东倒西歪的,如下图所示。为了更好的识别点选内容,我们最好先将该内容“回正”,也就是要调整图片的角度。现在我们一起来看下有什么好的方案。原创 2023-04-27 17:24:43 · 578 阅读 · 0 评论 -
用yolov5+playwright过滑动验证码
在上一节,我们通过opencv-python+playwright成功过掉了QQ空间的滑动验证码。在本节,我们将使用yolov5+playwright来提高通过率。用yolov5识别缺口的准确率很高,但是前提是训练集中的图片质量要高,种类要多,本节训练的模型不足点就在图片的种类不多。笔者此次下载的图片主要是这三种:而QQ空间可能会出现这种的,这就有可能产生识别误差:另外,用于训练的图片数量也不多,这也是可以提高的一个地方。但是总的来看,此次滑动验证码的通过的效果还是令人满意的。原创 2023-04-22 11:26:19 · 2205 阅读 · 0 评论 -
用opencv+playwright过滑动验证码
在本节,我们将使用opencv和playwright这两个库通过QQ空间的滑动验证码。有时候就算通过了滑动验证码,QQ空间也会提示当前网络异常或者不安全,导致这种情况出现的原因很可能是轨迹出了问题,后台识别出这是程序生成的轨迹。不过我们可以使用机器学习生成更真实的滑动轨迹来避免这种情况出现,笔者会在之后的章节中专门讲解。原创 2023-04-18 16:22:04 · 2087 阅读 · 1 评论 -
用机器学习sklearn+opencv-python过计算型验证码
在本节我们用Pillow库生成了计算型验证码图片,相较于纯数字或数字+字母验证码,计算型验证码识别难度要高一点,主要原因在于计算型验证码上的字符数量不一,导致图像切割难度会增加很多。虽然识别出字符后还要计算,但其实字符只要被识别出来的话,计算也就不是什么问题。当然,本节使用的验证码图片在干扰度上还不是特别强,没有加入线条干扰,如果加上线条的话,难度会大很多,因为在图像处理时,很可能会把运算符也给磨平了,导致识别出来的轮廓数量不对。模型也有可能会把一些干扰线条识别成1或者除号/了。原创 2023-04-15 12:27:41 · 1806 阅读 · 3 评论 -
用PyTorch训练模型识别captcha库生成的验证码
接下来我们需要自定义一个Dataset类,将train_captcha文件夹中的图片加载进来并作一定的处理。])从代码中可以看出,每张图片都会通过transforms.Grayscale()这行代码被灰度化。返回的标签是从图片路径中获取到的,不过我们不能直接返回验证码字符串,而是要进行独热编码操作,这样才能提供给PyTorch进行学习。独热编码和解码函数编写如下。"""将字符转为独热码""""""将独热码转为字符"""我们首先用torch.zeros()函数生成一个4行36列,值全是0的张量。原创 2023-04-13 16:19:47 · 2190 阅读 · 1 评论 -
验证码识别过程中切割图片的几种方案
在用机器学习识别验证码的过程中,我们通常会选择把验证码中的各个字符切割出来然后单独识别,切割质量会直接影响识别精度。在本节我们就来看下如何去切割一张验证码图片。原创 2023-04-11 13:27:57 · 1451 阅读 · 0 评论 -
用机器学习sklearn+opencv-python过古诗文网4位数字+字母混合验证码
为了能够训练一个识别古诗文网验证码的模型,我们用程序批量生成了和目标验证码的风格类似的图片用作训练集。然而,个别字符的字体样式还是有所区别,这就会影响最后的识别精读。如果能找到一个更相似的字体,那就最好不过了。我们生成了30000张验证码图片,但是验证码上的字符在大小、倾斜度和线条干扰度上都没有多大改变,所以在训练集中,某些字符的多条数据其实是非常类似的,这不利于机器学习,很容易导致过拟合。训练集数量可以减少,也要在模型上加强正则化来防止过拟合。原创 2023-04-10 22:33:03 · 670 阅读 · 0 评论 -
用机器学习sklearn+opencv-python过简单的4位数字验证码
在本节我们将使用sklearn和opencv-python这两个库过掉简单的4位数字验证码,验证码风格如下所示。原创 2023-04-09 10:01:30 · 844 阅读 · 0 评论