眾所周知,知乎對反爬的措施位列全網第一梯隊。我在爬取知乎的過程中也是遇到了倒立驗證碼的問題。
解決的辦法是開源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 -m pip install
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內建的試驗一下。輸出的內容即為倒立文字座標。
驗證碼 簡單驗證碼識別
這裡的驗證碼是內容非常簡單的,結構非常清晰的 這裡的驗證碼是內容非常簡單的,結構非常清晰的 這裡的驗證碼是內容非常簡單的,結構非常清晰的 興之所至之所以說簡單,我覺得是這樣的 抽了五張驗證碼扔進ps,50 透明度,長這樣 只有數字為內容 每張圖的數字都在固定位置 沒有太大的干擾因素 數字字型,形態完...
驗證碼識別
驗證碼識別過程好比人大腦的乙個識別過程 首先,我們的眼睛接收,並將這張的資訊輸送給大腦 然後,我們的大腦接收到這個資訊以後,對這個資訊作出處理 最後,將中的有效資訊提取出來再將其和大腦中儲存的資訊進行對應對比,確定對比結果。模擬驗證碼識別,大腦接受的處理過程就相當於電腦對的預處理,大腦對進行對比和確...
驗證碼識別
import tensorflow as tf 定義乙個初始化權重的函式 def weight variables shape w tf.variable tf.random normal shape shape,mean 0.0,stddev 1.0 return w 定義乙個初始化偏置的函式 d...