《2018年7月24日》【连续295天】
标题:图形验证码的识别,极验滑动验证码识别原理;
内容:
图形验证码:
测试:
import tesserocr
from PIL import Image
image =Image.open('code.jpg')
result =tesserocr.image_to_text(image)
print(result)
在有偏差的情况下,可以对图片进行转灰度,二值化等操作:
import tesserocr
from PIL import Image
image = Image.open('code.jpg')
image = image.convert('L')
threshold = 127
table = []
for i in range(256):
if i < threshold:
table.append(0)
else:
table.append(1)
image = image.point(table, '1')
image.show()
result = tesserocr.image_to_text(image)
print(result)
2.极验滑动验证码识别原理:
1.模拟点击验证按钮:直接使用Selenium即可
2.识别滑动缺口位置:
由于在滑动滑块前,缺口并没有呈现,所以可以直接将滑动前,和滑动时的图进行对比,来寻找缺口的位置,
设定一个对比阈值,找出相同位置像素RGB差距超过此阈值的像素点。
3.模拟拖动滑块:
比较难的一步,匀速,随机速度都不可以,必须完全模拟人的移动轨迹,一般是先加速后减速;