<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          滑塊驗(yàn)證碼的原理和破解方法~

          共 1237字,需瀏覽 3分鐘

           ·

          2021-08-11 12:20

          作者 |志斌
          來源 |  志斌的python筆記


          隨著時間的推移,技術(shù)的進(jìn)步,字符驗(yàn)證碼越來越容易被破解,所以,開發(fā)者開發(fā)了一種新的反爬蟲方式——滑塊驗(yàn)證碼反爬蟲,來限制爬蟲程序。


          志斌今天來跟大家分享一下如何解決驗(yàn)證碼反爬蟲中的滑塊驗(yàn)證碼反爬蟲。


          01

          原理


          網(wǎng)站開發(fā)者們認(rèn)為可以從行為方面來區(qū)別人類和計算機(jī)。例如:人們可以自由的完成拖拽、按下和釋放鼠標(biāo)等操作,但是計算機(jī)卻不可以。



          02

          破解


          01

           觀察滑塊和軌道的長度


          我們首先要打開網(wǎng)頁的開發(fā)者模式,來看一下滑塊和軌道的長度分別是多少。


          滑塊長度


          軌道長度


          從上面我們知道了滑塊的長度是50,軌道的長度是390,也就是說,滑塊需要滑動的距離是340。


          02

           模擬滑動


          在上面我們已經(jīng)知道滑塊要滑動的距離了,那么我們現(xiàn)在就可以開始嘗試模擬滑動了。這里我們使用Selenium來完成滑塊滑動的工作。


          關(guān)于Selenium庫的安裝、配置和使用方法,可以看一下這篇文章學(xué)會Selenium,實(shí)現(xiàn)真正的可見即可爬!


          模擬滑動主要分為以下兩步:


          1. 將鼠標(biāo)定位到滑塊位置



          我們打開開發(fā)者模式,對滑塊進(jìn)行檢查發(fā)現(xiàn),滑塊的class屬性是hover,所以定位代碼如下:

          from selenium import webdriver
          driver = webdriver.Chrome(r'chromedriver.exe')
          url = 'http://www.porters.vip/captcha/sliders.html#'
          driver.get(url)
          hover = driver.find_element_by_css_selector('.hover')


          2. 移動鼠標(biāo)到軌道終點(diǎn)


          Selenium庫中有一個ActionChains模塊,它可以模擬鼠標(biāo)按住滑塊進(jìn)行移動,然后進(jìn)行釋放等操作,很符合我們的需求。代碼如下:

          from selenium import webdriver
          import time
          move = webdriver.ActionChains(driver)
          move.click_and_hold(hover).perform()
          time.sleep(1)
          move.move_by_offset(340,0)
          time.sleep(1)
          move.release().perform()



          03

          小結(jié)


          1. 本文詳細(xì)介紹了滑塊驗(yàn)證碼反爬蟲的原理和破解方法。

          2. 滑塊驗(yàn)證碼是現(xiàn)在比較流行的一種驗(yàn)證碼反爬蟲,所以大家如果想成為一名爬蟲工程師,那這是一個必備技能。

          3. 破解滑塊驗(yàn)證碼主要分兩步:一、計算出滑塊要滑動的距離;二、讓滑塊進(jìn)行移動。

          4. 本文僅供學(xué)習(xí)參考,不做它用。

          瀏覽 432
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久久色婷婷 | 超碰 天天干 天天摸 | 一本色道久久 | 国产精品内射无码 | 黄色毛片a级操逼免费看 |