该网页爬虫的两个难点,图片验证码和Lenovo OTP动态口令。其中图片验证码是通过截图识别来实现系统输入(这里解释一下为什么使用截图而不使用图片链接,图片验证码也是动态的,图片链接通过加时间戳加随机三位实现实时刷新,通过链接访问的图片与实际需要的不符)。
图像识别原理大致如下,获取图片中像素点数量最多的像素,然后按照阙值进行二值化处理,之后去掉二值化处理后的图片中的噪声点,最后识别出图片中的数字及字母。
Lenovo OTP动态口令则是通过python win32api.ShellExecute打开动态口令exe,再模拟键盘输入密码实现获取动态口令。