欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

用Python爬蟲破解滑動(dòng)驗(yàn)證碼的案例解析

 更新時(shí)間:2021年05月06日 10:00:12   作者:不加班的程序員丶  
今天分享個(gè)如何簡(jiǎn)單處理滑動(dòng)圖片的驗(yàn)證碼的案例,主要是使用Python爬蟲破解滑動(dòng)驗(yàn)證碼的相關(guān)實(shí)現(xiàn)代碼,感興趣的朋友跟隨小編一起看看吧

做爬蟲總會(huì)遇到各種各樣的反爬限制,反爬的第一道防線往往在登錄就出現(xiàn)了,為了限制爬蟲自動(dòng)登錄,各家使出了渾身解數(shù),所謂道高一尺魔高一丈。

今天分享個(gè)如何簡(jiǎn)單處理滑動(dòng)圖片的驗(yàn)證碼的案例。

圖片


類似這種拖動(dòng)滑塊移動(dòng)到圖片中缺口位置與之重合的登錄驗(yàn)證在很多網(wǎng)站或者APP都比較常見,因?yàn)樗鼘?duì)真實(shí)用戶體驗(yàn)友好,容易識(shí)別。同時(shí)也能攔截掉大部分初級(jí)爬蟲。

作為一只python爬蟲,如何正確地自動(dòng)完成這個(gè)驗(yàn)證過程呢?

先來分析下,核心問題其實(shí)是要怎么樣找到目標(biāo)缺口的位置,一旦知道了位置,我們就可以借用selenium等工具完成拖動(dòng)的操作。

我們可以借用opencv來解決這個(gè)問題,主要步驟:

圖片

opencv 是什么?

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

直接安裝

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

處理后的效果

圖片

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

輪廓檢測(cè)

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

圖片

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

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

圖片

如上就找到了目標(biāo)位置,剩下的工作就是將滑塊移動(dòng)到指定位置即可

到此這篇關(guān)于用Python爬蟲破解滑動(dòng)驗(yàn)證碼的案例解析的文章就介紹到這了,更多相關(guān)Python爬蟲破解滑動(dòng)驗(yàn)證碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python實(shí)現(xiàn)多線程及線程間通信的簡(jiǎn)單方法

    python實(shí)現(xiàn)多線程及線程間通信的簡(jiǎn)單方法

    這篇文章主要為大家介紹了python實(shí)現(xiàn)多線程及線程間通信的簡(jiǎn)單方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • Python中itertools簡(jiǎn)介使用介紹

    Python中itertools簡(jiǎn)介使用介紹

    itertools是python內(nèi)置的模塊,使用簡(jiǎn)單且功能強(qiáng)大,itertools模塊標(biāo)準(zhǔn)化了一個(gè)快速、高效利用內(nèi)存的核心工具集,這些工具本身或組合都很有用,這篇文章主要介紹了Python中itertools詳解,需要的朋友可以參考下
    2022-12-12
  • Python+Selenium+phantomjs實(shí)現(xiàn)網(wǎng)頁模擬登錄和截圖功能(windows環(huán)境)

    Python+Selenium+phantomjs實(shí)現(xiàn)網(wǎng)頁模擬登錄和截圖功能(windows環(huán)境)

    Python是一種跨平臺(tái)的計(jì)算機(jī)程序設(shè)計(jì)語言,它可以運(yùn)行在Windows、Mac和各種Linux/Unix系統(tǒng)上。這篇文章主要介紹了Python+Selenium+phantomjs實(shí)現(xiàn)網(wǎng)頁模擬登錄和截圖功能,需要的朋友可以參考下
    2019-12-12
  • Pytorch的torch.utils.data中Dataset以及DataLoader示例詳解

    Pytorch的torch.utils.data中Dataset以及DataLoader示例詳解

    torch.utils.data?是?PyTorch?提供的一個(gè)模塊,用于處理和加載數(shù)據(jù),該模塊提供了一系列工具類和函數(shù),用于創(chuàng)建、操作和批量加載數(shù)據(jù)集,這篇文章主要介紹了Pytorch的torch.utils.data中Dataset以及DataLoader等詳解,需要的朋友可以參考下
    2023-08-08
  • 通過Python使用saltstack生成服務(wù)器資產(chǎn)清單

    通過Python使用saltstack生成服務(wù)器資產(chǎn)清單

    人工去對(duì)每一臺(tái)服務(wù)器的硬件信息并記錄早已經(jīng)過去了,無論通過腳本還是自動(dòng)化工具都是可以進(jìn)行一次編寫到處抓取的,本文主要使用saltstack作為使用工具,然后利用其提供的APi編寫所需的Python腳本
    2016-03-03
  • Python如何刪除print()中的空格

    Python如何刪除print()中的空格

    這篇文章主要介紹了Python如何刪除print()中的空格問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • 樹莓派使用USB攝像頭和motion實(shí)現(xiàn)監(jiān)控

    樹莓派使用USB攝像頭和motion實(shí)現(xiàn)監(jiān)控

    這篇文章主要為大家詳細(xì)介紹了樹莓派使用USB攝像頭和motion實(shí)現(xiàn)監(jiān)控,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • Python3.10接入ChatGPT實(shí)現(xiàn)逐句回答流式返回

    Python3.10接入ChatGPT實(shí)現(xiàn)逐句回答流式返回

    這篇文章主為大家要介紹了Python3.10接入ChatGPT實(shí)現(xiàn)逐句回答流式返回示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • Python3.6+Django2.0以上 xadmin站點(diǎn)的配置和使用教程圖解

    Python3.6+Django2.0以上 xadmin站點(diǎn)的配置和使用教程圖解

    django自帶的admin站點(diǎn)雖然功能強(qiáng)大,但是界面不是很好看。這篇文章主要介紹了Python3.6+Django2.0以上 xadmin站點(diǎn)的配置和使用 ,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-06-06
  • python實(shí)現(xiàn)定時(shí)發(fā)送郵件到指定郵箱

    python實(shí)現(xiàn)定時(shí)發(fā)送郵件到指定郵箱

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)定時(shí)發(fā)送郵件到指定郵箱,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-12-12

最新評(píng)論