知乎的验证码是倒立文字,可以用zheye这个开源项目来进行这类验证码识别
zheye (github)
这是一个开源的项目,作者通过机器学习来实现了精准的倒立文字识别。 https://github.com/996refuse/zheye
1.将压缩包解压到项目中
2.下载包
Pillow==3.4.2 -8.0
scikit-learn==0.18.1 —
tensorflow==1.0.1 —
h5py==2.6.0
numpy==1.12.1 —
Keras==2.0.1 —
pip install -i https://pypi.douban.com/simple -r requirements.txt
最好挨个进行下载,能看到每一个包的安装情况,是否完整。
pip install -i https://pypi.douban.com/simple Pillow==3.4.2
应用实例
from zheye import zheye
z = zheye()
positions = z.Recognize('zhihu_image/a.gif')
print(positions)
输出结果
它输出的是倒立文字在图片中的坐标,分别对应的是x,y
base64图片下载
将%0A去掉
将首部特殊标志去掉
通过base64往图片中写
base64_text = str(chinese_captcha_element.get_attribute("src"))
import base64
code = base64_text.replace('data:image/jpg;base64,', '').replace("%0A", "")
DstDir = os.getcwd() + "\\"
fh = open(DstDir+"yzm_cn.jpeg", "wb")
fh.write(base64.b64decode(code))
fh.close()