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

Tags: