Python 爬蟲簡單驗證碼識別和抓包
- 2020 年 2 月 13 日
- 筆記
- OCR 即Optical Character Recognition, 光學字元識別,是指通過掃描字元,然後通過其形狀將其翻譯成電子文本的過程。
- tesserocr 是Python的一個OCR識別庫。GitHub:https://github.com/tesseract-ocr/tesseract
1 軟體安裝:
- 注意:在安裝tesserocr前都需要先安裝tesseract,具體說明如下:
pip install tesserocr #安裝tesserocr pip install pillow # 圖片處理目錄 注意: 在mac下安裝tesserocr ,需要先安裝下面的軟體 brew install tesseract --all-languages brew install imagemagick 在:Ubuntu、Debian 系統下先安裝: sudo apt-get intall -y tesseract-ocr libtesseract-dev libleptonica-dev 在:CentOS、Red Hat 系統: yum install -y tesseract 在windows安裝tesserocr前要先安裝:tesseract 他是為tesserocr提供支援的 下載目錄:https://digi.bib.uni-mannheim.de/tesseract/ 會有很多下載文件,下載一個3.0版本的exe文件即可 在安裝中要勾選上Additional language data(download)選項來安裝OCR識別支援的語言包
2 具體使用:
- 簡單識別驗證碼
#驗證識別測試 import tesserocr from PIL import Image #打開圖片 image = Image.open("./code/5.png") #識別驗證碼 result = tesserocr.image_to_text(image) print(result)進一步優化:
- 驗證碼的深度處理,如轉灰度、二值化等操作
#驗證識別測試 import tesserocr from PIL import Image image = Image.open("./code/5.png") #將圖片轉化為灰度影像 image = image.convert("L") threshold = 127 table=[] for i in range(256): if i < threshold: table.append(0) else: table.append(1) image = image.point(table,'1') #識別驗證碼 result = tesserocr.image_to_text(image) print(result)Fiddler抓包工具:
- Fiddler(中文名稱:小提琴)是一個HTTP的調試代理,以代理伺服器的方式,監聽系統的Http網路數據流動
- Fiddler是一個http協議調試代理工具,它能夠記錄並檢查所有你的電腦和互聯網之間的http通訊,設置斷點,查看所有的「進出」Fiddler的數據(指cookie,html,js,css等文件,這些都可以讓你胡亂修改的意思)。
- Fiddler 要比其他的網路調試器要更加簡單,因為它不僅僅暴露http通訊還提供了一個用戶友好的格式。
- 官方網址:https://www.telerik.com/fiddler
- 文檔地址:http://docs.telerik.com/fiddler/configure-fiddler/tasks/configurefiddler
- 運行過程:

(本圖來自互聯網)
- 操作介面:

(本圖來自互聯網)
2. Fiddler配置過程:
- 安裝好後打開fiddler→選擇 Tools >Fildder Options > Https

(本圖來自互聯網)
- https 勾選下列選項

(本圖來自互聯網)
- Connection勾選允許遠程連接

(本圖來自互聯網)
- 設置完成後點擊下面的【OK】按鈕保存

(本圖來自互聯網)
- 我們在剛開始進入Fildder的介面上,使用手機或者電腦網上衝浪就可以看到我們的http請求了。
END
