众所周知,知乎对反爬的措施位列全网第一梯队。我在爬取知乎的过程中也是遇到了倒立验证码的问题。
解决的办法是开源github项目:zheye。
首先安装项目依赖包。
Keras==2.0.1
Pillow==3.4.2
#jupyter==1.0.0
#matplotlib==1.5.3
numpy==1.12.1
scikit-learn==0.18.1
tensorflow==1.0.1
h5py==2.6.0
经过我的尝试,这里列出的包除了tensorflow,其他全部安装最新版本即可。需要注意的是tensorflow的安装。
之前的tensorflow我都是在mac上使用的,没想到这次在windows上安装tensorflow给我造成了很大麻烦。现将我总结的tensorflow+numpy+mkl+protobuf整理如下(tensorflow依赖于后面三个包,安装过程要十分注意这四个包的版本)
1.使用清华镜像安装tensorflow1.2.1
经过我的尝试,tensorflow2似乎无法成功运行zheye,我在tensorflow1.2.1版本下成功运行,故推荐大家使用1.2.1及以下版本。
注意:
- 这里我是在anaconda虚拟环境下安装的,故加了
python -m
。 - 如果之前安装过了有问题或版本过高的tensorflow,请先删除之前的版本
python -m pip uninstall tensorflow
- 我的python环境是3.6,请尽量不要使用3.6以上的版本。如果大家的Python版本不是3.6,可以在清华大学开源软件镜像站查找对应的版本进行下载。(比如python3.5应该选择
tensorflow-1.2.1-cp35-cp35m-win_amd64.whl
)
python -m pip install https://mirrors.tuna.tsinghua.edu.cn/tensorflow/windows/cpu/tensorflow-1.2.1-cp36-cp36m-win_amd64.whl
2.安装numpy+mkl及protobuf
在网站Unofficial Windows Binaries for Python Extension Packages中明确指出,tensorflow版本依赖于numpy+mkl及protobuf。
经过我的实验,在该网站下载对应python版本的numpy+mkl及protobuf即可。
如python版本是3.6,即下载numpy-1.16.2+mkl-cp36-cp36m-win_amd64.whl
、protobuf-3.9.2-cp36-cp36m-win_amd64.whl
即可。
(安装之前,最好先删除之前版本的numpy:pip uninstall numpy
)
cmd进入安装包目录,进行安装即可。
python -m pip install .\numpy-1.16.2+mkl-cp36-cp36m-win_amd64.whl
python -m pip install .\protobuf-3.9.2-cp36-cp36m-win_amd64.whl
安装结束后,可以用zheye内置的图片试验一下。输出的内容即为倒立文字坐标。
来源:CSDN
作者:Iovebecky
链接:https://blog.csdn.net/zhaohaibo_/article/details/104521788