
800819103
在線客服,實時響應
qq群
在線客服,實時響應
客服電話
13318873961
除了常見的IP限制,爬蟲還會經常遇到驗證碼限制,對于IP限制,還可以利用代理IP切換IP,對于驗證碼,python爬蟲又是怎么處理的呢?
驗證碼比較多樣,通常的是圖片的驗證碼,這些驗證碼不僅模糊還是重疊,難倒不少人,別說爬蟲了。
其實現在已經有圖片識別文字軟件,可以通過軟件把圖片中的文字轉為文本,但是亂碼可不少,這技術能應用在python爬蟲中么?
對于python爬蟲驗證碼處理,機器視覺的一個分支:文字識別,介紹如何用一些Python庫來識別和使用在線圖片中的文字。將圖像翻譯成文字一般被稱為光學文字識別(OpticalCharacterRecognition,OCR)??梢詫崿FOCR的底層庫并不多,目前很多庫都是使用共同的幾個底層OCR庫,或者是在上面進行定制。在這里我們只重點介紹:Tesseract
Tesseract是一個OCR庫,是目前公認最優秀、最精確的開源OCR系統,除了極高的精確度,也具有很高的靈活性。它可以通過訓練識別出任何字體,也可以識別出任何Unicode字符。
一、安裝Tesseract
Windows系統:下載可執行安裝文件進行安裝。
Linux系統:可以通過apt-get安裝:$sudoapt-gettesseract-ocr
Tesseract是一個Python的命令行工具,不是通過import語句導入的庫。安裝之后,要用tesseract命令在Python的外面運行,但我們可以通過pip安裝支持Python版本的Tesseract庫:
二、從網站圖片中抓取文字
下面的程序就是從網站圖片中抓取文字:首先打開閱讀器,收集圖片的URL鏈接,然后下載圖片,識別圖片,最后打印每個圖片的文字。因為這個程序很復雜,利用了前面幾章的多個程序片段,所以增加了一些注釋以讓每段代碼的目的更加清晰:
上文詳細介紹了python爬蟲驗證碼處理,可以根據網站的反爬蟲機制使用,除了IP限制、驗證碼限制,還有其他有些驗證。在使用爬蟲的過程中,需要注意控制訪問速度,偽裝好數據,否則容易被檢測到,從而被限制爬蟲數據。