學會這個Python庫,至少能減少100行代碼

寫在前面

夢想橡皮擦,一個立志成爲IT圈有影響力的人,到今天,我已經實現了10%

今天打算寫爬蟲系列的文章,瀏覽過程中到達了知乎,看到了很多健身妹子,恩,身材很好,心中靈光一閃就想爬下來,存檔。作爲一個勉強算是爬蟲已經入門的小菜來說,這個簡單的不行,一頓操作之後,發現卡在了知乎登錄上,原計劃自己寫個模擬登錄,後來一琢磨,不想造輪子了,去github上找一個現成的不香嗎?

於是乎,有了這篇文章

DecryptLogin庫

項目源碼:https://github.com/CharlesPikachu/DecryptLogin

該項目就是用來實現各種登錄的一個庫,並且項目的聲明非常有那味兒

項目聲明
本項目僅供python愛好者學習使用, 若作者發現該項目以任何不正當方式被使用, 將立即刪除該項目。
希望大家合理利用該項目🙂

恩,這個項目是給愛好者用的,如果你幹壞事,我就刪掉這個項目,非常nice。

一個庫好不好,記得咱們怎麼判斷麼,看他的文檔寫的好不好,文檔好,庫一般不會差

中文文檔:https://httpsgithubcomcharlespikachudecryptlogin.readthedocs.io/zh/latest/index.html

打開看一下,發現支持的平臺還不少,並且這個庫在3天前還在更新(今天是2020年6月19日),證明庫還是在維護中的。

Python教程,爬蟲教程

編碼時間

具體的細節不在贅述,這個庫能跑起來是基本前提,走起

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)

Python教程,爬蟲教程

接下來就可以快速開始了,官方文檔給的也非常簡單

三行代碼實現模擬登錄

這個標題,隱隱中有我一行代碼稱爲女神同桌的內涵: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)

Python教程,爬蟲教程
更妙的是,驗證碼處理還可以支持 打碼平臺對接,這個已經比較完善了,對於我們剛開始的模擬登錄的目標已經足夠用了

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)

寫在後面

如果你不想造輪子了,直接用該開源項目是可以的,當然打開他的源碼,好好分析一下,臨摹一下,還是能學到非常多的東西,而臨摹在學習初期是最好,也是最有效的學習方式

Python教程,爬蟲教程

很多時候,我們無法解決技術問題,不是因爲我們技術不行,而是因爲我們不知道怎麼纔行

本篇文章希望你從今天可以聽說竟然有一款DecryptLogin庫。
如果你想跟博主建立親密關係,可以關注博主,或者關注博主公衆號“非本科程序員”,瞭解一個非本科程序員是如何成長的。
博主ID:夢想橡皮擦,希望大家點贊、評論、收藏


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