所需工具,tesserocr库和selenium库,python3.7.7
selenium库直接在你的命令行下pip install selenium就行,选python3.7.7是因为能更好的兼容tesserocr库,
tesserocr库的安装就有点麻烦了,tesserorc安装,
所有的工具都安装好了之后就可以开始操作了。
这是一个专门练习爬虫验证码识别的网站
进去以后是这个样子,用户名和密码默认都是admin,接下来我们可以先小试牛刀一手看看的tesserocr的效果,先将这个上图的验证码图片另存到你想存放的文件目录下,接下来开始动手写代码
# 导入模块
import tesserocr
from PIL import Image
# 读取图片
image = Image.open('D:/picture/test2.png')
# 识别图片中的字符
txt = tesserocr.image_to_text(image)
# 答应结果
print(txt)
>>— f9.2 4
我们可以看到除了f924之外还多出来一些干扰字符-和.,这是图片里多余的像素点对识别进行了干扰,一般情况下的解决办法是将图片转换成为灰度图像然后通过阈值来对点进行筛选,然后在通过re库里面的替换模块来将多余的干扰字符全替换成none,话不多说,码如下:
# 导入模块
import tesserocr
from PIL import Image
import re
import numpy as np
image = Image.open('D:/picture/test2.png')
# 将图片转换成灰度图像,就是只有白和黑2中颜色
demo = image.convert('L')
# 将图像转换成多维数组
arr = np