一种破解滑块验证码的方法及装置与流程

文档序号:16135992发布日期:2018-12-01 00:58阅读:3809来源:国知局

本发明涉及大数据技术领域,具体提供一种破解滑块验证码的方法及装置。

背景技术

随着大数据时代的到来,数据的影响力逐渐扩大,越来越多的企业需要大数据来支撑自身的业务发展。大数据产业离不开海量数据的支撑,但是在大数据时代,数据壁垒的存在使得海量数据的获取成为从业者的一大难点。

现有技术中,数据的来源主要依靠网络数据采集或是数据库的采集。其中,网络数据采集主要依靠网络爬虫或是公开的api(applicationprogramminginterface即应用程序编程接口)来获取数据。在网络爬虫的过程中,有的爬虫的目标网站会采用验证码的方式来进行反爬。滑块验证码是现在各大网站和app常用的一种保证用户信息安全,确保是本人操作,并防止黑客恶意攻击造成服务器压力过大的安全服务措施。具有操作简单,对服务器压力小等优点,成为现在很多网站首选。对于数据采集人员来说,数据采集的过程中不可避免的会遇到使用滑块验证码的采集目标,而滑块验证码的存在会大大影响数据采集的效率。



技术实现要素:

本发明的技术任务是针对上述存在的问题,提供一种能够大大的提高数据采集效率,增加工作人员工作效率的破解滑块验证码的方法。

本发明进一步的技术任务是提供一种破解滑块验证码的装置。

为实现上述目的,本发明提供了如下技术方案:

一种破解滑块验证码的方法,该方法通过selenium获取滑块验证码原图和带阴影块的图片,通过图像处理算法计算出滑块验证码原图和带阴影块的图片之间的位移,滑动滑块到计算出的位移处,破解滑块验证码。

selenium为浏览器自动化测试框架。

所述图像处理算法能够找到出两张相似图片之间差异像素点,并能计算出从左向右扫描第一处差异像素点之间的横坐标位移。

作为优选,具体包括以下步骤:

s1:利用selenium获取滑块验证码原图和带阴影块的图片;

s2:通过图像处理算法算出滑块验证码原图和带阴影块的图片之间的位移;

s3:滑动滑块到计算出来的位移处,破解滑块验证码。

作为优选,步骤s1中,获取滑块验证码原图和带阴影块的图片时,若能获取到滑块验证码原图和带阴影块的图片的链接,并能在浏览器中打开,则直接在浏览器中打开图片链接,截图即可。

作为优选,步骤s1中,获取滑块验证码原图和带阴影块的图片时,若不能获取到滑块验证码原图和带阴影块的图片的链接,则从验证码中获取截图。

作为优选,滑块验证码原图的获取通过元素的坐标、计算出的滑块验证码原图的高度和宽度进行获取;带阴影块的图片先点击滑块,再按滑块验证码原图的截取方式截取带阴影块的图片。

作为优选,步骤s2中,比较获取滑块验证码原图和带阴影块的图片的像素点,得到两个像素点的x值,即为滑块验证码原图和带阴影块的图片之间的位移。

所述x值为横坐标轴上,从一个点到另一个点的距离。

作为优选,步骤s3中,利用selenium模拟鼠标点击滑块,滑动滑块到计算出来的位移处。

将位移距离分成一段一段的小轨迹,然后模拟人的行为习惯,先快后慢,最终验证。

一种破解滑块验证码的装置,该装置包括以下模块:

获取模块:用于利用selenium获取滑块验证码原图和带阴影块的图片;

计算模块:用于通过图像处理算法计算出滑块验证码原图和带阴影块的图片之间的位移;

滑动模块:用于滑动滑块到计算出来的位移处,破解滑块验证码。

作为优选,获取模块获取滑块验证码原图和带阴影块的图片时,若能获取到滑块验证码原图和带阴影块的图片的链接,并能在浏览器中打开,则直接在浏览器中打开滑块验证码原图和带阴影块的图片的链接,截图即可;若不能获取到滑块验证码原图和带阴影块的图片的链接,则从验证码中获取滑块验证码原图和带阴影块的图片的截图。

作为优选,计算模块比较获取的滑块验证码原图和带阴影块的图片的像素点,得到两个像素点的x值,即为位移;滑动模块利用selenium模拟鼠标点击滑块,滑动滑块到计算出来的位移处。

与现有技术相比,本发明的破解滑块验证码的方法具有以下突出的有益效果:所述破解滑块验证码的方法通过对比滑块验证码原图和带阴影块的图片的像素点,得到两个像素点的x值,即为滑块需要移动的位移,并模拟人的行为习惯滑动滑块到计算出来的位移出,达到破解滑块验证码的目的,能够大幅度提高数据采集的效率,增加工作人员的工作效率,具有良好的推广应用价值。

附图说明

图1是本发明所述破解滑块验证码的方法的流程图;

图2是本发明所述破解滑块验证码的装置的示意图。

具体实施方式

下面将结合附图和实施例,对本发明的破解滑块验证码的方法及装置作进一步详细说明。

实施例

如图1所示,本发明的破解滑块验证码的方法,通过selenium获取滑块验证码原图和带阴影块的图片,通过图像处理算法计算出滑块验证码原图和带阴影块的图片之间的位移,滑动滑块到计算出的位移处,破解滑块验证码。

其中,图像处理算法过程的代码如下:

具体包括以下步骤:

s1:利用selenium获取滑块验证码原图和带阴影块的图片。

若能获取到滑块验证码原图和带阴影块的图片的链接,并能在浏览器中打开,则直接在浏览器中打开滑块验证码原图和带阴影块的图片链接,截图即可。若不能获取到滑块验证码原图和带阴影块的图片的链接,则从验证码中获取截图。滑块验证码原图的获取通过元素的坐标、计算出的图片的高度和宽度进行获取;带阴影块的图片先点击滑块,再按原图截取方式截取图片。

s2:通过图像处理算法算出滑块验证码原图和带阴影块的图片之间的位移距离。比较获取滑块验证码原图和带阴影块的图片的像素点,得到不一样的像素点的x值,即为位移距离。

s3:滑动滑块到计算出来的位移处,破解滑块验证码。

利用selenium模拟鼠标点击滑块,滑动滑块到计算出来的位移处。将位移分成一段一段的小轨迹,然后模拟人的行为习惯,先快后慢按轨迹拖动滑块,最终验证。

如图2所示,本发明的破解滑块验证码的装置,包括获取模块、计算模块和滑动模块。

获取模块用于利用selenium获取滑块验证码原图和带阴影块的图片。获取模块获取滑块验证码原图和带阴影块的图片时,若能获取到滑块验证码原图和带阴影块的图片的链接,并能在浏览器中打开,则直接在浏览器中打开滑块验证码原图和带阴影块的图片链接,截图即可;若不能获取到滑块验证码原图和带阴影块的图片的链接,则从验证码中获取截图。滑块验证码原图的获取通过元素的坐标、计算出的图片的高度和宽度进行获取;带阴影块的图片先点击滑块,再按原图截取方式截取图片。

计算模块用于通过图像处理算法计算出滑块验证码原图和带阴影块的图片之间的位移。通过比较获取滑块验证码原图和带阴影块的图片的像素点,得到两个像素点的x值,即为滑块需要滑动的位移。

滑动模块用于滑动滑块到计算出来的位移处,破解滑块验证码。滑动模块利用selenium模拟鼠标点击滑块,滑动滑块到计算出来的位移处。将位移分成一段一段的小轨迹,然后模拟人的行为习惯,先快后慢按轨迹拖动滑块,最终验证。

以上所述的实施例,只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1