寫在前面
夢想橡皮擦,一個立志成爲IT圈有影響力的人,到今天,我已經實現了10%
今天打算寫爬蟲系列的文章,瀏覽過程中到達了知乎,看到了很多健身妹子,恩,身材很好,心中靈光一閃就想爬下來,存檔。作爲一個勉強算是爬蟲已經入門的小菜來說,這個簡單的不行,一頓操作之後,發現卡在了知乎登錄上,原計劃自己寫個模擬登錄,後來一琢磨,不想造輪子了,去github
上找一個現成的不香嗎?
於是乎,有了這篇文章
DecryptLogin庫
項目源碼:https://github.com/CharlesPikachu/DecryptLogin
該項目就是用來實現各種登錄的一個庫,並且項目的聲明非常有那味兒
項目聲明
本項目僅供python愛好者學習使用, 若作者發現該項目以任何不正當方式被使用, 將立即刪除該項目。
希望大家合理利用該項目🙂
恩,這個項目是給愛好者用的,如果你幹壞事,我就刪掉這個項目,非常nice。
一個庫好不好,記得咱們怎麼判斷麼,看他的文檔寫的好不好,文檔好,庫一般不會差
中文文檔:https://httpsgithubcomcharlespikachudecryptlogin.readthedocs.io/zh/latest/index.html
打開看一下,發現支持的平臺還不少,並且這個庫在3天前還在更新(今天是2020年6月19日),證明庫還是在維護中的。
編碼時間
具體的細節不在贅述,這個庫能跑起來是基本前提,走起
pip install DecryptLogin --upgrade
安裝過程,不報錯,錯了就咋辦,切換源,當然這個庫需要的Python3.6以上版本
DecryptLogin相關依賴包需求如下:
rsa >= 4.0
qrcode >= 6.1
pillow >= 6.0.0
requests >= 2.22.0
pycryptodome >= 3.8.1
requests_toolbelt >= 0.9.1
PyExecJS >= 1.5.1 (測試時使用的Node.js版本爲v10.15.3)
接下來就可以快速開始了,官方文檔給的也非常簡單
三行代碼實現模擬登錄
這個標題,隱隱中有我一行代碼稱爲女神同桌的內涵:https://blog.csdn.net/hihell/article/details/106566330
三行代碼之後,就那麼猝不及防的成功了,當然過程裏面我還輸入了一個驗證碼。
from DecryptLogin import login
lg = login.Login()
infos_return, session = lg.zhihu(username='你的賬號', password="你的密碼")
print(infos_return,session)
更妙的是,驗證碼處理還可以支持 打碼平臺對接,這個已經比較完善了,對於我們剛開始的模擬登錄的目標已經足夠用了
from DecryptLogin import login
'''定義驗證碼識別函數'''
def crackvcFunc(imagepath):
# 打開驗證碼圖片
img = Image.open(imagepath)
# 識別驗證碼圖片
result = IdentifyAPI(img)
# 返回識別結果(知乎爲數字驗證碼)
return result
lg = login.Login()
infos_return, session = lg.zhihu(username='Your Username', password='Your Password', crackvcFunc=crackvcFunc)
寫在後面
如果你不想造輪子了,直接用該開源項目是可以的,當然打開他的源碼,好好分析一下,臨摹一下,還是能學到非常多的東西,而臨摹在學習初期是最好,也是最有效的學習方式
很多時候,我們無法解決技術問題,不是因爲我們技術不行,而是因爲我們不知道怎麼纔行
本篇文章希望你從今天可以聽說竟然有一款DecryptLogin庫。
如果你想跟博主建立親密關係,可以關注博主,或者關注博主公衆號“非本科程序員”,瞭解一個非本科程序員是如何成長的。
博主ID:夢想橡皮擦,希望大家點贊、評論、收藏