在全国企业信用信息系统中搜索信息时,可以看到以下验证码:
破解思路:
1.从div中或取乱序的图片及坐标,乱序图片如下图:
2.根据获取到的乱序图片及坐标将图片拼完整,如下图:
,
3.计算两张图片的像素差,并计算缺口位置,如下图:
4.根据缺口位置模拟人的行为拖动滑块
具体代码如下:
def get_merge_image(filename,location_list):
'''
根据位置对图片进行合并还原
:filename:图片
:location_list:图片位置
'''
pass
im = image.open(filename)
new_im = image.new('RGB', (260,116))
im_list_upper=[]
im_list_down=[]
for location in location_list:
if location['y']==-58:
pass
im_list_upper.append(im.crop((abs(location['x']),58,abs(location['x'])+10,166)))
if location['y']==0:
pass
im_list_down.append(im.crop((abs(location['x']),0,abs(location['x'])+10,58)))
new_im = image.new('RGB', (260,116))
x_offset = 0
for im in im_list_upper:
new_im.paste(im, (x_offset,0))
x_offset += im.size[0]
x_offset = 0
for im in i