在之前的幾篇文章當中,我們學習了爬蟲的靜態動態數據獲取和存儲。一般來說,我們已經可以進行
爬蟲開發了。但是,在實際應用情況下,爬蟲在自己工作時會遇到另一個門檻,那就是驗證碼。
由於學記最近才開始學習關於驗證碼的知識,所依今天只是說一下解決的思路。
驗證碼是各大網站防止用戶以外的爬蟲肆意佔用網站資源的一道鎖。
當然了,有鎖就會有鑰匙,那怎麼開鎖呢?
一般我們遇到的驗證碼分為三種:字符驗證碼 ,圖文驗證碼,和滑動驗證碼。
這三種驗證碼的處理難度逐級遞升。
字符驗證碼
![驗證碼解決思路,Python爬蟲在遇到驗證碼時的不同思路](http://p2.ttnews.xyz/loading.gif)
像上圖中的字符驗證碼是最初級的驗證碼,這種驗證碼一般是由數字或字母組成,是比較簡單的驗證碼模式。
處理這種驗證碼需要用到 OCR 技術。
![驗證碼解決思路,Python爬蟲在遇到驗證碼時的不同思路](http://p2.ttnews.xyz/loading.gif)
什麼是 OCR 技術?就是光學字符識別技術,應用這個技術就可以從圖像中抽取文本。
像現實世界中的停車場掃描器就是這個原理,在爬蟲開發當中,如果遇到了有字符驗證碼的情況就可以用 OCR 技術進行處理。
在Python當中,有 tesserocr 這個庫可以識別字符驗證碼。
當然了,還是之前的流程,先打開 CMD 在輸入 pip3 install tesserocr 即可。
圖文驗證碼
相較於字符驗證碼,圖文驗證碼的難度就上了一個臺階。
當然圖文驗證碼也是圖形的一種,運用上面的 OCR 技術,來識別所需要點擊的驗證碼在哪,再通過 Selenium 來進行模擬點擊即可。
滑動驗證碼
這種驗證碼最近有很多網站在應用,需要用戶滑行到圖片的缺口,是一個難度較大的驗證碼。
當然這種驗證碼也不是不能破解,和上面兩種驗證碼的思路類似,只不過從獲取字符變成獲取暗色的區塊。
在拖動的環節為了契合人類的習慣,在拖動的時候可以將速度設置成不同的速度,以迷惑驗證系統。
這一篇文章主要是講一下解決驗證碼的思路,畢竟驗證碼是一個比較複雜的領域,學記也是對這些複雜的東西暫時搞不來。
在之後的時間裡,學記與這些驗證碼鬥智鬥勇之後,會再寫一篇關於如何解決驗證碼的文章。
如果想學習更多科技知識,可以點擊關注。
如果對文章中的內容有什麼困惑的地方,可以在評論區提出自己的問題,學記同大家一起交流,解決各種問題,一起進步。
青年學記 陪伴著各位青年
作者:青年學記 一名不斷進步的程序猿
一起學習 一起進步
走向自立
閱讀更多 青年學記 的文章