用Python爬蟲破解滑動驗證碼的案例解析
做爬蟲總會遇到各種各樣的反爬限制,反爬的第一道防線往往在登錄就出現(xiàn)了,為了限制爬蟲自動登錄,各家使出了渾身解數(shù),所謂道高一尺魔高一丈。
今天分享個如何簡單處理滑動圖片的驗證碼的案例。

類似這種拖動滑塊移動到圖片中缺口位置與之重合的登錄驗證在很多網(wǎng)站或者APP都比較常見,因為它對真實用戶體驗友好,容易識別。同時也能攔截掉大部分初級爬蟲。
作為一只python爬蟲,如何正確地自動完成這個驗證過程呢?
先來分析下,核心問題其實是要怎么樣找到目標(biāo)缺口的位置,一旦知道了位置,我們就可以借用selenium等工具完成拖動的操作。
我們可以借用opencv來解決這個問題,主要步驟:

opencv 是什么?
OpenCV(Open Source Computer Vision Library)是開放源代碼計算機視覺庫,主要算法涉及圖像處理、計算機視覺和機器學(xué)習(xí)相關(guān)方法,可用于開發(fā)實時的圖像處理、計算機視覺以及模式識別程序。
直接安裝

首先將圖片進(jìn)行高斯模糊處理,高斯模糊的主要作用是減少圖像的噪聲,用于預(yù)處理階段。

處理后的效果

接著用Canny邊緣檢測到得到一個包含“窄邊界”的二值圖像。所謂二值圖像就是黑白圖,只有黑色和白色。


輪廓檢測

找出所有的輪廓,并用紅色線框?qū)⑵淅L制標(biāo)識出來了,看出來大大小小有幾十個輪廓

剩下的問題就好辦了,我們只需要對輪廓的面積或者周長范圍做限制,就能過濾出目標(biāo)輪廓的位置, 前提是我們對目標(biāo)位置的輪廓大小是預(yù)先確定的。

輪廓的面積大概是6000到8000之間,周長在300到500之間, 最后用外接矩形獲取該輪廓圖的坐標(biāo)位置和寬高大小。

如上就找到了目標(biāo)位置,剩下的工作就是將滑塊移動到指定位置即可
到此這篇關(guān)于用Python爬蟲破解滑動驗證碼的案例解析的文章就介紹到這了,更多相關(guān)Python爬蟲破解滑動驗證碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python7個爬蟲小案例詳解(附源碼)下篇
- Python7個爬蟲小案例詳解(附源碼)中篇
- Python7個爬蟲小案例詳解(附源碼)上篇
- 利用Python爬蟲爬取金融期貨數(shù)據(jù)的案例分析
- Python爬蟲采集Tripadvisor數(shù)據(jù)案例實現(xiàn)
- Python?Ajax爬蟲案例分享
- Python爬蟲入門案例之爬取去哪兒旅游景點攻略以及可視化分析
- Python爬蟲入門案例之爬取二手房源數(shù)據(jù)
- Python爬蟲入門案例之回車桌面壁紙網(wǎng)美女圖片采集
- Python爬蟲之Scrapy環(huán)境搭建案例教程
- python爬蟲系列網(wǎng)絡(luò)請求案例詳解
- python爬蟲破解字體加密案例詳解
- python爬蟲線程池案例詳解(梨視頻短視頻爬取)
- python爬蟲scrapy框架的梨視頻案例解析
- python爬蟲利器之requests庫的用法(超全面的爬取網(wǎng)頁案例)
- Python爬蟲實戰(zhàn)案例之爬取喜馬拉雅音頻數(shù)據(jù)詳解
- Python爬蟲Scrapy框架CrawlSpider原理及使用案例
- Python爬蟲之對CSDN榜單進(jìn)行分析
相關(guān)文章
PyTorch手寫數(shù)字?jǐn)?shù)據(jù)集進(jìn)行多分類
這篇文章主要介紹了PyTorch手寫數(shù)字?jǐn)?shù)據(jù)集進(jìn)行多分類,損失函數(shù)采用交叉熵,激活函數(shù)采用ReLU,優(yōu)化器采用帶有動量的mini-batchSGD算法,需要的朋友可以參考一下2022-03-03
使用ChatGPT進(jìn)行Abaqus二次開發(fā)詳解
這篇文章主要為大家介紹了使用ChatGPT進(jìn)行Abaqus二次開發(fā)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
Keras實現(xiàn)DenseNet結(jié)構(gòu)操作
這篇文章主要介紹了Keras實現(xiàn)DenseNet結(jié)構(gòu)操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07

