目錄
驗證碼?我也能破解?
識別辦法
首頁 後端開發 Python教學 python爬蟲入門級識別驗證碼

python爬蟲入門級識別驗證碼

Mar 05, 2017 pm 01:48 PM
python爬蟲 驗證碼

前情:這篇文章所提及的內容是博主上個暑假時候做的,一直沒有沉下心來把自己的心得寫在紙面上,所幸這個假期閒暇時候比較多,想著能寫多少是多少,於是就有了此篇。

驗證碼?我也能破解?

關於驗證碼的介紹就不多說了,各種各樣的驗證碼在人們生活中時不時就會冒出來,博主身為東北大學的學生,日常接觸最多的就是教務處系統的驗證碼了。
東大的驗證碼一直被學生吐槽,太難輸入了,不僅區分大小寫,有些時候你明明輸入正確了,卻提示出錯,而這個時候 禁止你的左鍵複製 也許該彈出來了。
(不過1python爬蟲入門級識別驗證碼-17學年度教務處更改了驗證碼的內容,更方便人類操作了。)

可以看出教務處的驗證碼十分有規律,每個字母數字的大小位置形狀等等都是固定的,這正適合毫無基礎的初學者進行驗證碼的識別。

識別辦法

模擬登陸有著複雜的步驟,在這裡咱們不管其他操作,只負責根據輸入的一張驗證碼圖片返回一個答案字串。

我們知道驗證碼為了製作幹擾,會把圖片弄成五顏六色的樣子,而我們首先就是要去除這些幹擾,這一步就需要不斷試驗了,增強圖片色彩,加大對比度等等都可以產生幫助。

在經過各種對圖片的操作之後,終於找到了比較完美的去除乾擾方案。可以看到在去除乾擾之後,最優情況下,我們將得到一張十分純淨的黑白字元圖片。一張圖片上有四個字符,沒辦法一下子就把四個字符全部識別,需要把圖片進行裁剪,裁剪成每張小圖只有一個字符的樣子,再對每張圖片分別進行識別。

接下來就是辨識文字了,我們先把得到的小圖轉換成01表示的矩陣,每個矩陣代表一個字元。
例如數字六的矩陣

num_python爬蟲入門級識別驗證碼python爬蟲入門級識別驗證碼[
0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,1,1,0,0,0,0,0,0,
0,0,0,0,1,1,1,0,0,0,0,0,0,
0,0,0,1,1,1,0,0,0,0,0,0,0,
0,0,0,1,1,0,0,0,0,0,0,0,0,
0,0,1,1,0,0,0,0,0,0,0,0,0,
0,0,1,1,0,0,0,0,0,0,0,0,0,
0,1,1,1,1,1,1,1,0,0,0,0,0,
0,1,1,1,1,1,1,1,1,0,0,0,0,
0,1,1,0,0,0,0,1,1,1,0,0,0,
0,1,1,0,0,0,0,0,1,1,0,0,0,
0,1,1,0,0,0,0,0,1,1,0,0,0,
0,1,1,1,0,0,0,1,1,1,0,0,0,
0,0,1,1,1,1,1,1,1,0,0,0,0,
0,0,0,1,1,1,1,1,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,
]
登入後複製

遠遠望過去,瞇著眼睛還是能分辨出來的。
因為東大教務處的驗證碼十分規整,每個數字所在的位置都是固定的,所以並不需要涉及什麼機器學習的演算法,只是簡單的進行一下矩陣的比對就可以了,在所有的實現做好的矩陣中找到相似度最高的矩陣就可以了,這裡的比對方法多種多樣,反正數據簡單能正確辨識出來就好。

至此,咱們的驗證碼識別工作就結束了。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Google瀏覽器不顯示驗證碼圖片怎麼辦?chrome瀏覽器不顯示驗證碼? Google瀏覽器不顯示驗證碼圖片怎麼辦?chrome瀏覽器不顯示驗證碼? Mar 13, 2024 pm 08:55 PM

谷歌瀏覽器不顯示驗證碼圖片怎麼辦?在使用Google瀏覽器登入網頁有時候需要驗證碼驗證。部分使用者在使用圖片驗證碼的時候發現Google瀏覽器無法正常顯示圖片的內容。這該怎麼辦呢?下面小編帶來Google瀏覽器驗證碼不顯示處理方法介紹,希望對大家有幫助!  方法介紹  1、進入軟體,點選右上角的「更多」按鈕,選擇下方選項清單中的「設定」進入。  2、進入新介面後,點選左側的「隱私設定與安全性」選項。  3、接著點擊右側中的「網站設定&rdquo

PHP圖片處理案例:如何實作圖片的驗證碼功能 PHP圖片處理案例:如何實作圖片的驗證碼功能 Aug 17, 2023 pm 12:09 PM

PHP圖片處理案例:如何實現圖片的驗證碼功能隨著互聯網的快速發展,驗證碼成為了保護網站安全的重要手段之一。驗證碼是一種透過影像辨識技術來確定使用者是否為真實使用者的驗證方式。本文將介紹如何使用PHP來實現圖片的驗證碼功能,並附帶程式碼範例。簡介驗證碼是一張包含隨機字元的圖片,使用者需要輸入圖片中的字元才能通過驗證。實現驗證碼的主要過程包括產生隨機字元、繪製字元到圖片

虛擬號碼可以接收驗證碼嗎 虛擬號碼可以接收驗證碼嗎 Jan 02, 2024 am 10:22 AM

虛擬號碼可以接收驗證碼,只要註冊時填寫的手機號碼符合規定,並且能夠正常接通手機號,就可以收到簡訊驗證碼。不過,使用虛擬手機號碼要注意,部分網站不支援虛擬手機號碼註冊,因此需要選擇正規的虛擬手機號碼服務商。

驗證碼攔不住機器人了!谷歌AI已能精準辨識模糊文字,GPT-4則裝瞎求人幫忙 驗證碼攔不住機器人了!谷歌AI已能精準辨識模糊文字,GPT-4則裝瞎求人幫忙 Apr 12, 2023 am 09:46 AM

「最煩登網站時各種奇奇怪怪(甚至變態)的驗證碼了。」現在,有一個好消息和一個壞消息。好消息就是:AI可以幫你代勞這件事了。不信你瞧,以下是三張辨識難度依序遞增的真實案例:而這些是一個名為「Pix2Struct」的模型給出的答案:全部準確無誤、一字不差有沒有?有網友感嘆:確定,準確度比我強。所以可不可以做成瀏覽器插件? ?不錯,有人表示:別看這幾個案例相比還算簡單,但凡微調一下,我都不敢想像其效果有多厲害了。所以,壞消息就是──驗證碼馬上就要攔不住機器人了! (危險危險危險…)如何做到? Pix2St

手機為什麼收不到驗證碼 手機為什麼收不到驗證碼 Aug 17, 2023 pm 02:49 PM

手機收不到驗證碼是網路問題、手機設定問題、手機電信業者問題和個人設定問題導致的。詳情介紹:1、網路問題,手機所處的網路環境不穩定或訊號弱,就有可能導致驗證碼無法及時送達;2、手機設定問題,不小心將手機的簡訊或語音功能關閉,或將驗證碼的發送號碼加入黑名單中,導致驗證碼無法正常收到;3、手機電信業者問題,手機業者可能會故障或維護,導致驗證碼無法及時送達等等。

PHP開髮指南:實作驗證碼登入 PHP開髮指南:實作驗證碼登入 Jul 01, 2023 am 09:27 AM

隨著網路的發展和智慧型手機的普及,驗證碼登入功能被越來越多的網站和應用程式採用。驗證碼登入是一種透過輸入正確的驗證碼來驗證使用者身分的登入方式,以提高安全性和防止惡意攻擊。在PHP開發中,實作簡單的驗證碼登入功能並不複雜,可以透過以下步驟來完成。建立資料庫表首先,我們需要在資料庫中建立一個用於儲存驗證碼資訊的表。表格結構可以包含以下欄位:id:自增主鍵phon

如何使用PHP建立驗證碼圖片? 如何使用PHP建立驗證碼圖片? Sep 13, 2023 am 11:40 AM

如何使用PHP建立驗證碼圖片?驗證碼(CAPTCHA)是一種常用的驗證使用者是否為人而非機器的方法。在網站上,我們經常會看到驗證碼圖片,要求使用者輸入圖片上顯示的隨機字元或數字,以完成登入、註冊、評論等操作。本文將介紹如何使用PHP建立驗證碼圖片,並提供具體的程式碼範例。一、PHPGD庫要建立驗證碼圖片,我們需要使用PHP的GD庫。 GD庫是用來處理影像的擴

Python中的爬蟲實戰:今日頭條爬蟲 Python中的爬蟲實戰:今日頭條爬蟲 Jun 10, 2023 pm 01:00 PM

Python中的爬蟲實戰:今日頭條爬蟲在當今資訊時代,網路上蘊含著大量的數據,對於利用這些數據進行分析和應用的需求越來越高。而爬蟲作為實現資料取得的技術手段之一,也成為了人們研究的熱門領域之一。本文將主要介紹Python中的爬蟲實戰,並重點介紹如何使用Python編寫一個今日頭條的爬蟲程式。爬蟲基礎概念在開始介紹Python中的爬蟲實戰之前,我們需要先來了解

See all articles