python如何通過(guò)?
發(fā)送post請(qǐng)求,最主要的還是抓包分析,獲取到post提交的參數(shù),然后利用python構(gòu)建參數(shù)字典,模擬發(fā)送請(qǐng)求,下面我簡(jiǎn)單介紹一下過(guò)程,實(shí)驗(yàn)環(huán)境win10+python3.6+pycharm5.0+谷歌瀏覽器,主要內(nèi)容如下:
1.這里以模擬登陸我們的校園網(wǎng)為例,界面如下,需要輸入用戶名、密碼:
接著按F12調(diào)出開(kāi)發(fā)者工具,在當(dāng)前頁(yè)面輸入用戶名和密碼,點(diǎn)擊登陸,抓包分析,如下,可以看到登陸的頁(yè)面url:
往下翻,就可以看到頁(yè)面在post提交時(shí),傳遞的參數(shù),如下:
2.針對(duì)以上分析結(jié)果,我們就可以構(gòu)建對(duì)應(yīng)的代碼了,如下,一個(gè)是post參數(shù),一個(gè)是headers(模擬瀏覽器),這里建議用Session,會(huì)自動(dòng)處理cookies,代碼如下:
接著我們就可以試著爬取一些頁(yè)面,這里以爬取考試成績(jī)?yōu)槔?,如下,利用BeautifulSoup解析一下頁(yè)面,然后提取信息,打印出來(lái),在上面代碼的基礎(chǔ)下再添加如下代碼:
程序運(yùn)行截圖如下,已經(jīng)成功抓取到我們需要的數(shù)據(jù):
至此,我們就完成了利用python來(lái)模擬發(fā)送post請(qǐng)求。總的來(lái)說(shuō),整個(gè)過(guò)程不難,最主要的還是抓包分析,獲取post參數(shù),這里的頁(yè)面比較簡(jiǎn)單,參數(shù)不多,好處理,但在一些比較大的網(wǎng)站中,post參數(shù)比較多,而且還有不少是經(jīng)過(guò)加密處理的,或者有驗(yàn)證碼,這個(gè)就需要自己認(rèn)真的分析,研究對(duì)應(yīng)的對(duì)策了,網(wǎng)上有相關(guān)資料,可以自己研究一下,希望以上分享的內(nèi)容能對(duì)你有所幫助吧。