python爬虫--滑动验证码破解

记录于2020.10.22

废话不多说直接上源码

 1      #获取有缺口的图片
 2         bigImg = Imgdict['bigImgName']
 3         smallImg = Imgdict['smallImgName']
 4         picture_big = self.get_HTML(bigImg)
 5         bytes_stream = io.BytesIO(picture_big)
 6         roiimg = Image.open(bytes_stream)
 7         roiimg.save('./big.png')
 8         #获取缺口图片
 9         picture_amsll = self.get_HTML(smallImg)
10         bytes_stream = io.BytesIO(picture_amsll)
11         roiimg = Image.open(bytes_stream)
12         roiimg.save('./small.png')
13 
14         #二值化图片并进行比对
15         target_rgb = cv2.imread('../../chengxu/big.png', 0)
16         #匹配缺口位置,并获取移动距离
17         template_rgb = cv2.imread('../../chengxu/small.png', 0)
18         res = cv2.matchTemplate(target_rgb, template_rgb, cv2.TM_CCOEFF_NORMED)
19         value = cv2.minMaxLoc(res)
20         Value = value[2][0]
21         Deviation = random.randint(0, 3)
22         if Deviation % 2 == 0:
23             Value_dev = Value - Deviation
24         else:
25             Value_dev = Value + Deviation

根据获取到的验证码图片进行处理、匹配拿到滑动距离

利用随机数在对滑动距离做模仿,ps:不要问为什么,因为没有人会每次准确无误的滑动到完美的距离

之后根据前端分析出的网址进行传入距离,有必要时建议第一次传入一个随即值,第二次传入正确的距离值

这样返回的JSON数据里面就会包含对应的加密口令

后面你就可以驰骋了,加油吧!!!!

 

posted @ 2020-10-22 15:12  Jack船长1  阅读(737)  评论(0编辑  收藏  举报