Python奇淫技巧之自動登錄嗶哩嗶哩(解決滑塊驗證)

/1 前言/

嘿,各位小夥伴晚上好呀,今天要帶來點什麼乾貨呢,就從我的實際開發中來給大家帶來一個案例吧,如何自動登錄嗶哩嗶哩。

接到老大通知,讓我自動寫一個自動登錄嗶哩嗶哩的腳本,我當然是二話不說直接開懟,咱們的準則是啥,生死看淡,不服就幹,幹就完了。

然而,現實總是被無情打臉,但是不管怎樣,終究算是幹過它了,下面我們來一一講解,如何自動登錄嗶哩嗶哩!

/2 示例效果 /

先給大家看看最終效果圖,後面會講解如何破解滑塊驗證:

Python奇淫技巧之自動登錄嗶哩嗶哩(解決滑塊驗證)

/3 準備工作/

chromedriver:瀏覽器驅動,可以理解為一個沒有界面的chrome瀏覽器。

selenium:用於模擬人對瀏覽器進行點擊、輸出、拖拽等操作,就相當於是個人在使用瀏覽器,也常常用來應付反爬蟲措施。

/4 具體步驟/

嗶哩嗶哩登錄URL:https://passport.bilibili.com/login

1、點擊登錄如下,自動登錄blbl最難的一點就是,拖動滑塊,對準缺口,正是這一個問題,讓我掉了好幾根頭髮,跟上我的腳步,能少踩一個一個坑是一個坑。

Python奇淫技巧之自動登錄嗶哩嗶哩(解決滑塊驗證)

2. 可能看到這,稍微會點技術的小夥伴都知道,其實我們根本要解決的問題,就是缺口獲取缺口的位置,但是要怎麼獲取這個缺口的位置呢?

Python奇淫技巧之自動登錄嗶哩嗶哩(解決滑塊驗證)

3. 這尼瑪,canvas是個啥?其實當時我和你們想法一樣,其實呢,這個canvas是個畫布,可不是圖片,這咋辦,這不是圖片怎麼辦呢?

再說,我怎麼知道哪個是帶缺口圖的canvas,經過多次測試,終於算是弄清楚了哪個是背景圖,哪個是滑塊,我來給大家標註一下。

Python奇淫技巧之自動登錄嗶哩嗶哩(解決滑塊驗證)

4. So,問題又來了,我怎麼獲取這裡面的圖片呢?不談了,直接上圖!!!

Python奇淫技巧之自動登錄嗶哩嗶哩(解決滑塊驗證)

5. 我們先在遊覽器前端控制檯,通過js代碼,選中帶缺口的標籤,因為是類選中,所以需要取0下標,通過 toDataURL("image/png") 方法,將canvas將裡面的圖片轉為base64位圖片,轉成base64位圖片有啥用呢,來,我們賦值這麼這麼長的一段base64地址,複製到遊覽器中。

Python奇淫技巧之自動登錄嗶哩嗶哩(解決滑塊驗證)

看到了沒?我們夢寐已久帶缺口的圖片已經呈現出來了。

6. 下一步怎麼辦呢? 當時我的想法是,如法炮製,獲取滑塊的的圖片,通過opencv模板對比,獲取缺口位置。 但是事實證明,我又被打臉,我們來看一下滑塊圖片 長 啥樣。

Python奇淫技巧之自動登錄嗶哩嗶哩(解決滑塊驗證)

7. 是不是看著沒什麼問題,我們來保存本地試一下看看。

Python奇淫技巧之自動登錄嗶哩嗶哩(解決滑塊驗證)

8. 看出來了沒?其實除了滑塊以外,其他位置為透明區域,如果有透明區域,是不能通過opencv 模板對比的。這咋辦?如果在用opencv處理圖像,就是個累活了。

9. 本著能懶就懶 的 原則,直接上第三方平臺吧! 本文使用的第三方平臺:聯眾:https://www.jsdati.com/

這個平臺還是比較貼心的,還有qq客服,有問題我們還可以問qq客服,暖心

Python奇淫技巧之自動登錄嗶哩嗶哩(解決滑塊驗證)

10. 這個平臺圖像類型1318為滑塊驗證碼,只需要把帶有缺口的圖片上傳到此網站就好。具體怎麼操作呢?說了這麼多,我們也該上代碼了,詳情地址上傳到github這裡了: https://github.com/cassieeric/python_crawler/tree/master/bilibili_autoLogin ,覺得還不錯,記得給個star噢!

Python奇淫技巧之自動登錄嗶哩嗶哩(解決滑塊驗證)

各位小夥伴自行去聯眾註冊哈,價格還挺香,1元100點,滑動驗證碼一個2點。

/5 總結 /

今天主要介紹了一種自動登錄嗶哩嗶哩的破解方法,大家可以跟著代碼進行實際操作一遍。

你還期待哪些網站的實踐操作呢,也可以在下方留言哦。


分享到:


相關文章: