您的位置:首页 > 新闻资讯 >文章内容
Python怎么绕过验证码问题?
来源:互联网 作者:admin 时间:2019-03-05 17:07:56

  使用网络不可避免的会遇到验证码,或者在登录账号时出现验证码,或者在访问过快时出现验证码,实在是太烦恼了,能不能绕过验证码呢?可以利用Python实现吗?


  验证码被设计出来主要是用于验证你是一个真正的人还是机器,来防止电脑自动填写表单。但是随着深度学习和计算机视觉的兴起,它们现在往往很容易被攻破。下面来了解下Python怎么绕过验证码问题,以图形验证码为例:


  首先寻找测试网站,验证码一般如下:


Python怎么绕过验证码问题?


  1.可以看出有微弱的干扰线和较强的干扰点,如何处理呢?进行灰度处理,把彩色验证码图片转为灰色的图片。


  2.二值化处理,将图片处理为只有黑白两色的图片,这里发现干扰线没有了,这就意味着我们只需要处理干扰点即可。


Python怎么绕过验证码问题?


  3.降噪处理,去除小黑点,也就是孤立的黑色像素点,获得验证码。


  4.分割,我们可以看到,每一张验证码都有四个字符,通过观察收集的训练集,我们可以知道字符的类型。根据字符的类型,我们先新建几个文件夹,用于存储分割后的验证码图片。然后根据之前保存下来的验证码训练集的答案,对处理好的验证码图片进行分割并保存。


  5.选取特征值,首先我们要明白,并不能直接将图像与其对应的字符相匹配,而是将图像与图像的特征值相匹配,再将图像的特征值与相应的字符相匹配。所以要对图像里的文字进行识别,首先要提取出该图像中的特征值。每个图像可以有多个特征值,我们将图像的所有特征值组成一条向量,将图像与它的特征向量相匹配。


  但是,根据选取规则的不同,一个图像可以有不同的特征向量。例如:选取图像不同颜色点的个数组成特征向量、选取图像不同颜色像素点占总像素点的比例组成特征向量等。因此,我们需要先确定一个特征向量的选取规则,之后可根据识别效果对选取规则进行修改。


  在确定了选取规则后,我们便可以提取每张验证码的特征向量了。在此之后,我们可以再做一步工作,即将训练集中每张验证码的特征向量按照其对应字符存储下来,找到特征值并保存下来,以便之后的识别。


  6.简单的识别,按常规而言,完成特征向量的提取,我们应该要用这些特征向量,训练出一个模型。但事实上,得到了这些特征向量之后,我们就已经能够对验证码进行简单的识别了。


  对于一张新获得的验证码,我们需要对它进行与处理训练集相同的处理操作(灰度化、二值化、去噪、分割等),并用相同的规则得到它的特征向量(记为V)。之后我们只需要遍历训练集,找到与V最“接近”的向量,并得到该向量所对应的字符。


  以上介绍了关于Python怎么绕过验证码问题,仅供大家参考。若是认为此方法比较麻烦的,也可以选择使用其他的识别方法,或者是人工打码的。


 


相关文章内容简介
推荐阅读
  • 26 2019-03
    干货代理的使用方式

    现在代理服务器承载着各大网站上的信息转接功能,而干货代理服务器具体如何使用,还是需要大家提前获取有用信息的,只有这样才能够保证自己在网站运营过程中高效平稳,如果自己一时差

  • 01 2019-09
    用代理IP如何防止本机IP被封?

    为了应对反爬虫机制,使用代理IP是常规操作。网站会通过检测某一时间段IP地址对服务器的访问次数,如果有出现违反平台的行为,就会禁止这个IP访问。所以,爬虫工作者才会需要用到代理IP

  • 14 2019-06
    高质量高匿名的代理ip是上上之选

    如果要使用的代理ip的话,高质量高匿名的代理ip是上上之选,使用之后的辅助效果会更加的好。

  • 20 2019-03
    不知道怎么制作代理ip池?抓取免费IP搭建代理IP池教程

    有可能是因为使用了低质量的代理IP,可能是你的IP进了该站的黑名单,某一段时间内不能访问该站的资源。那么该怎么解决这个问题?比较有效的方式是使用代理ip,而如果有一个自己的代理ip

  • 27 2019-02
    使用代理IP能够安全刷到足够多的票吗?

    对于投票,大家都有接触的,一般人投票也只是会投给身边比较熟悉的人,即使是拉票,这拉的票数也是有限的,除非你的人缘或者推广比较好,否则是难以拉到大量的票数。于是有些人就想要

  • 13 2019-07
    HTTP代理解开平台限制访问不受限

    HTTP代理解开平台限制访问不受限!我们使用HTTP代理,这是由于很多平台都设置了限制,而HTTP代理就是通往各个平台的钥匙,可以解开IP限制,让你顺畅的获取信息。

在线客服
大客户VIP渠道
点击这里给我发消息
讨论QQ群
HTTP代理IP爬虫
客服电话
13318873961