手把手使用Python教你破解谷歌(Google)人機驗證碼—下篇

/1 前言/

  昨天其實已經發布了上篇,但是忘記標註原創了,今天繼續將其發佈出來,與下篇一起給大家,這樣大家就可以直接重頭看到尾了。這篇文章主要是實戰,實現谷歌人機破解具體過程。


/2 實現步驟/

  1、既來之則安之,選擇了2captcha,就要看看人家的官網啦,如下圖所示。

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

  2、...純英文,我也看不懂..怎麼辦呢,彆着急,我帶你們一步一步分析主要功能首先來登錄賬號,如下圖所示。

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

  3、登錄完成後,會自動跳到主頁,如下圖所示。

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

  上圖中第一個紅色圈起來的地方表示剩餘多少錢,沒有錢的話記得要氪金,否則是不能用滴,氪金過程這裏就不多做解釋了哈,問題不大

  第二個紅色圈起來的地方表示這是你的唯一key,每次請求要帶上這個key的,所以要保管好

  4、進入主題,研究文檔。點擊紅色圈的地方,API,一般API都是文檔,如下圖所示。

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

  5、En....什麼玩意..完全看不懂,別慌,往下滑

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

  滑到rates這個目錄,我們知道,谷歌人機是ReCaptcha,但是三個呢,到底是哪個呢,我就來帶大家看看。

  6、首先點擊ReCaptcha(oldmethod),這個是老的方法,咱也不知道唉,所以就先看看這個吧,從淺到深嘛,這裏呢,我都直接翻譯了一下,方便我們觀看。

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

  7、Look,人家也說了,舊方法解決ReCaptcha準確率比較低,建議使用新方法,那我們就點擊新方法去看看。

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

  8、我們找到了,這種屬於ReCaptcha v2驗證碼,確實和谷歌人機挺一樣的,我們來看一下文檔是怎麼寫的。

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

  9、人家說,我們先找到data-sitekey參數,然後將data-sitekey參數提交到https://2captcha.com/in.php,等個15-20s再向https://2captcha.com/res.php獲取結果。然後找到id=g-recaptcha-responsetextarea標籤,將display:none這個css刪除,將給我們字符串添加到textarea輸入框點擊提交,就完成了。

  是不是很簡單?我們也來試一下。打開谷歌的示例樣式,如下圖所示。

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

  10、我們打開開發者工具,搜索data-sitekey,可以看到,真的有一個

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

  11、我們賦值一下這個data-sitekey,並且用代碼獲取到最後的結果。

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

  12、然後我們找到 id=g-recaptcha-response textarea標籤,將他的display屬性刪除。

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

  13、但是有點不太對。

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

  14、Look,下圖這個是2captcha的示例的。

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

  我們可以看到,2captcha是個刪除display之後,textarea框是直接展示出來的,但是我們刪除display之後,基本沒用絲毫動靜,這...

  15、彆着急,人家都想到了,我們往下滑滑。

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

  既然我們不能直接顯示出來textarea,那就說明我們是隱式的ReCaptcha驗證碼,其實他的原理呀,也挺簡單。

  如果你學過一些前端,會些js,你可能就會想到,雖然我看不到這個textarea,但是通過js我們仍然能更改textarea的數據,只是說,我們鼠標點擊不了而已,人家也說了,看第一個紅圈的位置,通過此js,我們我們就可以把向2captcha獲取的值賦值上,第二個圈js是提交表單,其實就是我們人點擊提交而已,只不過是js代碼幫我們完成了,這樣,我們也完成了一個偷天換日。


/3 小試牛刀/

  1、好嘞,我們就先來手動搞一下,在上述中,我們已經根據data-sietkey拿到了最後的結果,顯然,我們只能通過js完成,那麼,我們就試一下。

640?wx_fmt=gif&tp=webp&wxfrom=5&wx_lazy=1

  通過上述gif看到,我們通過js,確實繞過了點擊車輛識別了,其他識別,確實方便。

  2、但是我們不可能通過人每次這樣搞呀,但是因爲牽扯到了執行js,所以只能使用selenium,所以,我們來看一下selenium上的效果吧。

640?wx_fmt=gif&tp=webp&wxfrom=5&wx_lazy=1

  Look,這樣,我們就針對谷歌人機(ReCaptcha)驗證碼,完成了自動登錄,如果爬取國外的某某網站時,如果遇到了ReCaptcha,我相信一定會對你有幫助。


/4 結語/

  本文主要介紹了使用第三方平臺(https://2captcha.com/zh?from=8779379)去破解谷歌人機登錄,方法有些曲折,但是行之有效

  歡迎大家嘗試,消耗在家的無聊時間本文涉及的代碼都上傳到了github地址上,後臺回覆“谷歌人機”四個字即可獲取代碼


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章