/1 前言/php
有爬蟲經驗的各位小夥伴都知道,正常咱們須要登陸才能獲取信息的網站,是比較難爬的。緣由就是在於,如今各大網站爲了反爬,與爬蟲機制鬥智鬥勇,通常的都加入了圖片驗證碼、滑動驗證碼之類的干擾,讓咱們的爬蟲半途折返。web
本篇文章主要是針對嗶哩嗶哩的滑動驗證碼進行講解和破解。api
/2 方法探討/瀏覽器
寫這個文章以前,我就在想一個問題,關於破解滑動驗證到底是使用機器學習仍是第三方服務的方法會比較好一些。關於這個問題,先說一下我的觀點:本人做爲一個爬蟲老鳥,若是隻是爲了使用,很是建議使用第三方服務。主要緣由有如下兩點。app
一、如今是2020年了,在IT行業的小夥伴們都知道一個事實,如今大紅大紫的熱門行業確定都說是機器學習,你們都想入門機器學習。可是不少人還沒入門就GG了,這是爲何呢?由於入門機器學習,是須要有高等數學底子的,可不是之前學一個語言,會經常使用邏輯就能夠入門了的。這也是爲何到如今爲止,依然還有很是大的機器學習人才缺口。機器學習
二、機器學習,通常玩不起。首先,你須要有大量的數據,而後再有一個不錯的主機用於訓練,再而後,就是須要你有高等數學的底子。若是這三個你的具有,而且學習了機器學習,你才能夠勉強破解滑動驗證碼,而且還不敢保證本身訓練的準確度。ide
以上就是我推薦使用第三方接口的緣由,由於第三方接口就是專門作這類機器學習的。它們有強大的人力物力專門作破解各類驗證碼,而且識別率很是高,如今通常都是90%以上。此外,不只價格還香,還可讓本身少掉不少根頭髮,何樂而不爲了呢?工具
話說回來,並非說我不建議學習機器學習。畢竟如今咱們是處於一我的工智能時代,若是你已有不錯的數學基礎,而且對機器學習饒有興趣,在工做或者學習之餘,能夠學習一下機器學習的,畢竟趨勢如此,緊跟潮流。學習
簡單總結一下:若是你的爬蟲遇到了滑動驗證碼,建議直接使用第三方平臺。若是你對機器學習頗有興趣,想嘗試一下新方法,能夠考慮一下機器學習。測試
/3 所需工具/
本文中使用的工具和以前不太同樣,此次暫時沒有用到selenium,而是使用了第三方服務:https://2captcha.com/。根據本人測試,這個平臺是目前識別率最高的平臺,價格也還行,3美圓幾百次的樣子。接下來,我詳細講解一下這個打碼平臺。
本文中使用的工具和以前不太同樣,此次暫時沒有用到selenium,而是使用了第三方服務:https://2captcha.com/,這裏咱們只須要 requests 模塊就能夠啦!
/4 打碼平臺參數分析/
根據本人測試,這個平臺是目前識別率最高的平臺,價格也還行,3美圓幾百次的樣子。接下來,我詳細講解一下這個打碼平臺。
既然咱們選擇了第三方平臺,咱們務必要看一下人家的文檔,看看別人是怎麼操做的。下面咱們就2captcha平臺的極驗破解,看看官網上是如何實現的。
額...純英文的,我也看不懂。。。這咋回事呢?這咋辦哪?這可咋整啊?別慌,問題不大,小編帶大家一步一步分析主要功能。
一、首先咱們須要登陸到帳號,以下圖所示,右上方有個Sign的提示,若是沒有帳號的話,得點擊右上方的Register進行註冊帳號便可。
二、當登陸完成後,會自動跳到主頁,以下圖所示。
上圖中長方形框框圈起來的地方表示你的帳戶餘額剩餘多少錢,帳戶資金不足的話記得要氪金,不然是不能用滴,氪金過程這裏就很少作解釋了哈,問題不大。橢圓框框圈起來的地方表示的是你的惟一key值,每次請求要帶上這個key的,因此你務必要保管好。
三、前期工做完成以後,接下來咱們進入主題,研究文檔。點擊下圖中紅色圈的地方,API(全稱是:Application Programming Interface,應用程序接口),通常API下面存放的都是文檔。
四、以後彈出的界面就讓人有些傻眼了,以下圖所示。
額,尷尬的一批,這所有是英文額,不過不要慌,問題不大,繼續往下滑動看看。
五、誒,在下方這裏咱們能夠找到一個列表,以下圖所示。
滑動到Rates這個菜單欄,咱們能看到一個列表,咱們要解決的就是極驗(GeeTest,就是極驗的英文翻譯),因此咱們只須要看GeeTest就行了,能夠看到上面顯示的單價是2.99美圓。以後咱們點擊GeeTest,頁面會進行跳轉。
六、以後會彈出下圖的英文界面,估計小夥伴們有的望而卻步一波了。
七、不過仍然不要慌,別忘記了,咱們還有翻譯呢!點擊瀏覽器的翻譯功能,頁面忽然間就變得熟悉了,以下圖所示。
這下是否是感受清晰了不少了?雖然有些翻譯的不盡人意,可是基本上咱們可以明白翻譯過來的意思,順藤摸瓜,能夠搞定原英文想要表達的意思。若是你英文好的話,就不用像小編這樣這麼費勁啦,給英文大佬打call!
能夠看到上文中的操做提示,咱們須要找到目標網站的gt,challenge和api_server三個值,而後,加上其餘一些參數發送到網址https://2captcha.com/in.php,以後該網址會返回一個任務ID。
而後等個15秒左右之後,再向https://2captcha.com/res.php請求,帶上任務ID加上一些其餘參數,便可進行破解。
/5 總結/
寫到這裏,這篇文章已經超過2000個字了,估計小夥伴們都沒有耐心看下去了,小編在這裏大概整理一下上文的大致意思。
一、首先,咱們肯定須要第三方平臺去幫助咱們破解極驗,以後咱們須要找到這個第三方平臺,而且須要進行註冊。
二、註冊以後,咱們須要閱讀API操做文檔。
三、根據API操做文檔,在翻譯的幫助下,找到目標網站的gt,challenge和api_server三個值,而後,加上其餘一些參數發送到 https://2captcha.com/in.php,會返回一個任務ID。
四、而後等個15秒左右之後,再像https://2captcha.com/res.php請求,帶上任務ID加上一些其餘參數,便可進行破解。
介於篇幅緣由,這篇文章主要介紹了第三方打碼平臺和破解的理論部分,下一篇文章將詳細介紹破解嗶哩嗶哩極驗的具體過程,小夥伴們敬請期待吧!