學(xué)會這個Python庫,爬蟲至少能減少100行代碼
學(xué)會這個Python庫,爬蟲至少能減少100行代碼
寫在前面
“今天打算寫爬蟲系列的文章,瀏覽過程中到達(dá)了知乎,看到了很多健身妹子,恩,身材很好,心中靈光一閃就想爬下來,存檔。作為一個勉強(qiáng)算是爬蟲已經(jīng)入門的小菜來說,這個簡單的不行,一頓操作之后,發(fā)現(xiàn)卡在了知乎登錄上,原計劃自己寫個模擬登錄,后來一琢磨,不想造輪子了,去
”github上找一個現(xiàn)成的不香嗎?
于是乎,有了這篇文章
DecryptLogin庫
項(xiàng)目源碼:https://github.com/CharlesPikachu/DecryptLogin
該項(xiàng)目就是用來實(shí)現(xiàn)各種登錄的一個庫,并且項(xiàng)目的聲明非常有那味兒
“項(xiàng)目聲明 本項(xiàng)目僅供python愛好者學(xué)習(xí)使用, 若作者發(fā)現(xiàn)該項(xiàng)目以任何不正當(dāng)方式被使用, 將立即刪除該項(xiàng)目。希望大家合理利用該項(xiàng)目??
”
恩,這個項(xiàng)目是給愛好者用的,如果你干壞事,我就刪掉這個項(xiàng)目,非常nice。
一個庫好不好,記得咱們怎么判斷么,看他的文檔寫的好不好,文檔好,庫一般不會差
中文文檔:https://httpsgithubcomcharlespikachudecryptlogin.readthedocs.io/zh/latest/index.html
打開看一下,發(fā)現(xiàn)支持的平臺還不少,并且這個庫在3天前還在更新(今天是2020年6月19日),證明庫還是在維護(hù)中的。
編碼時間
具體的細(xì)節(jié)不在贅述,這個庫能跑起來是基本前提,走起
“pip install DecryptLogin --upgrade
”
安裝過程,不報錯,錯了就咋辦,切換源,當(dāng)然這個庫需要的Python3.6以上版本
“DecryptLogin相關(guān)依賴包需求如下: 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)
”
接下來就可以快速開始了,官方文檔給的也非常簡單
三行代碼實(shí)現(xiàn)模擬登錄
這個標(biāo)題,隱隱中有我一行代碼稱為女神同桌的內(nèi)涵:https://blog.csdn.net/hihell/article/details/106566330
三行代碼之后,就那么猝不及防的成功了,當(dāng)然過程里面我還輸入了一個驗(yàn)證碼。
from DecryptLogin import login
lg = login.Login()
infos_return, session = lg.zhihu(username='你的賬號', password="你的密碼")
print(infos_return,session)
更妙的是,驗(yàn)證碼處理還可以支持 打碼平臺對接,這個已經(jīng)比較完善了,對于我們剛開始的模擬登錄的目標(biāo)已經(jīng)足夠用了
from DecryptLogin import login
'''定義驗(yàn)證碼識別函數(shù)'''
def crackvcFunc(imagepath):
# 打開驗(yàn)證碼圖片
img = Image.open(imagepath)
# 識別驗(yàn)證碼圖片
result = IdentifyAPI(img)
# 返回識別結(jié)果(知乎為數(shù)字驗(yàn)證碼)
return result
lg = login.Login()
infos_return, session = lg.zhihu(username='Your Username', password='Your Password', crackvcFunc=crackvcFunc)
寫在后面
如果你不想造輪子了,直接用該開源項(xiàng)目是可以的,當(dāng)然打開他的源碼,好好分析一下,臨摹一下,還是能學(xué)到非常多的東西,而臨摹在學(xué)習(xí)初期是最好,也是最有效的學(xué)習(xí)方式
“很多時候,我們無法解決技術(shù)問題,不是因?yàn)槲覀兗夹g(shù)不行,而是因?yàn)槲覀儾恢涝趺床判?/p>”


Python“寶藏級”公眾號【Python之王】專注于Python領(lǐng)域,會爬蟲,數(shù)分,C++,tensorflow和Pytorch等等。
近 2年共原創(chuàng) 100+ 篇技術(shù)文章。創(chuàng)作的精品文章系列有:
日常收集整理了一批不錯的 Python 學(xué)習(xí)資料,有需要的小伙可以自行免費(fèi)領(lǐng)取。
獲取方式如下:公眾號回復(fù)資料。領(lǐng)取Python等系列筆記,項(xiàng)目,書籍,直接套上模板就可以用了。資料包含算法、python、算法小抄、力扣刷題手冊和 C++ 等學(xué)習(xí)資料!
