您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關怎么用Python爬蟲破解滑動驗證碼的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
python的數據類型:1. 數字類型,包括int(整型)、long(長整型)和float(浮點型)。2.字符串,分別是str類型和unicode類型。3.布爾型,Python布爾類型也是用于邏輯運算,有兩個值:True(真)和False(假)。4.列表,列表是Python中使用最頻繁的數據類型,集合中可以放任何數據類型。5. 元組,元組用”()”標識,內部元素用逗號隔開。6. 字典,字典是一種鍵值對的集合。7. 集合,集合是一個無序的、不重復的數據組合。
做爬蟲總會遇到各種各樣的反爬限制,反爬的第一道防線往往在登錄就出現了,為了限制爬蟲自動登錄,各家使出了渾身解數,所謂道高一尺魔高一丈。
今天分享個如何簡單處理滑動圖片的驗證碼的案例。
類似這種拖動滑塊移動到圖片中缺口位置與之重合的登錄驗證在很多網站或者APP都比較常見,因為它對真實用戶體驗友好,容易識別。同時也能攔截掉大部分初級爬蟲。
作為一只python爬蟲,如何正確地自動完成這個驗證過程呢?
先來分析下,核心問題其實是要怎么樣找到目標缺口的位置,一旦知道了位置,我們就可以借用selenium等工具完成拖動的操作。
我們可以借用opencv來解決這個問題,主要步驟:
opencv 是什么?
OpenCV(Open Source Computer Vision Library)是開放源代碼計算機視覺庫,主要算法涉及圖像處理、計算機視覺和機器學習相關方法,可用于開發實時的圖像處理、計算機視覺以及模式識別程序。
直接安裝
首先將圖片進行高斯模糊處理,高斯模糊的主要作用是減少圖像的噪聲,用于預處理階段。
處理后的效果
接著用Canny邊緣檢測到得到一個包含“窄邊界”的二值圖像。所謂二值圖像就是黑白圖,只有黑色和白色。
輪廓檢測
找出所有的輪廓,并用紅色線框將其繪制標識出來了,看出來大大小小有幾十個輪廓
剩下的問題就好辦了,我們只需要對輪廓的面積或者周長范圍做限制,就能過濾出目標輪廓的位置, 前提是我們對目標位置的輪廓大小是預先確定的。
輪廓的面積大概是6000到8000之間,周長在300到500之間, 最后用外接矩形獲取該輪廓圖的坐標位置和寬高大小。
如上就找到了目標位置,剩下的工作就是將滑塊移動到指定位置即可
感謝各位的閱讀!關于“怎么用Python爬蟲破解滑動驗證碼”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。