爬虫-某盾滑块破解,2025年5月最新
·
详见:https://github.com/YEZHIAN1996/crawl_pass
滑块例子缺口图如下:

处理逻辑:
1.获取dt
get_conf_data = self.request_getconf()
dt = get_conf_data['dt']
bid = get_conf_data['ac']['bid'] # 不变 "07e2387ab53a4d6f930b8d9a9be71bdf"
assert bid == self.request_params['id'], f'id不一致:{bid=} {self.request_params["id"]}'
self.ss.headers['Referer'] = self.request_params['referer']
2.下载图片(这里设置图片的大小)
get_data = self.request_get(dt, bid)
download_and_resize_image(url=get_data['bg'][0], width=320, height=160, output_path='bg.jpg')
download_and_resize_image(url=get_data['front'][0], width=61,height=160, output_path= 'front.png' )
# self.download_img('bg.jpg', url=get_data['bg'][0])
# self.download_img('front.png', url=get_data['front'][0])
3.识别滑块的距离有2种方法(方法一更准确采用ddddocr)
# 方法一:
distance = int(get_distince_dddd('front.png', 'bg.jpg'))
# 方法二:
distance = self.get_distance(get_data['bg'][0], get_data['front'][0])
4.生成滑动轨迹
track = self.get_track(distance)
time.sleep(1)
5.请求校验
resp_json = self.request_check(dt, bid, token=get_data['token'], track=track, distance=distance)
self.resp_json2 = resp_json
# 解码 validate
validate = self.ctx.call('do_onVerify', resp_json['validate'], self.fp)
if resp_json.get('result'):
logger.success(f'验证成功:{resp_json}')
logger.success(f'解码validate:{validate}')
return True
else:
logger.warning(f'验证失败:{resp_json}', )
return False
至此完成滑块的验证
最终结果:

更多推荐
所有评论(0)