python模擬登陸,用session維持回話(huà)的實(shí)例
python模擬登陸的幾種方法
客戶(hù)端向服務(wù)器發(fā)送請(qǐng)求,cookie則是表明我們身份的標(biāo)志。而“訪(fǎng)問(wèn)登錄后才能看到的頁(yè)面”這一行為,恰恰需要客戶(hù)端向服務(wù)器證明:“我是剛才登錄過(guò)的那個(gè)客戶(hù)端”。于是就需要cookie來(lái)標(biāo)識(shí)客戶(hù)端的身份,以存儲(chǔ)它的信息(如登錄狀態(tài))
1、先在瀏覽器中登錄,然后打開(kāi)開(kāi)發(fā)者選項(xiàng),找到一個(gè)請(qǐng)求方法為POST的請(qǐng)求,復(fù)制Requests Headers中的cookie在爬取需要登錄的頁(yè)面時(shí)加上此cookies即可
import requests
url = '......'
headers = {'cookies':'......'}
response = requests.get(url=url, headers=headers)
2、 模擬登錄,并用session維持會(huì)話(huà),用requests的session模擬登錄后session會(huì)記錄cookies,接下來(lái)的請(qǐng)求會(huì)被放在同一個(gè)會(huì)話(huà)中。舉個(gè)簡(jiǎn)單例子,在 requests 中,如果直接利用 get()或 post()等方法的確可以做到模擬網(wǎng)頁(yè)的請(qǐng)求,但是這實(shí)際 上是相當(dāng)于不同的會(huì)話(huà),也就是說(shuō)相當(dāng)于你用了兩個(gè)瀏覽器打開(kāi)了不同的頁(yè)面。設(shè)想這樣一個(gè)場(chǎng)景,第一個(gè)請(qǐng)求利用 post()方法登錄了某個(gè)網(wǎng)站,第二次想獲取成功登錄后的自 己的個(gè)人信息,你又用了一次 get()方法去請(qǐng)求個(gè)人信息頁(yè)面。 實(shí)際上,這相當(dāng)于打開(kāi)了兩個(gè)瀏覽器, 這是兩個(gè)完全不相關(guān)的會(huì)話(huà),能成功獲取個(gè)人信息嗎?那當(dāng)然不能
import requests
'''
下面的data是先在瀏覽器中登錄,然后打開(kāi)開(kāi)發(fā)者選項(xiàng),找到一個(gè)請(qǐng)求方法為POST的請(qǐng)求,復(fù)制里面的Form Data
'''
url = '......'
data = {
username:'......',
password:flz_sanqianchi,
rememberMe:true,
lt:LT-82465-9HtQnC7ZASZHohtnQlrqMvXo7cI2B7,
execution:e1s1,
}
headers = {'user-agent':'Mozolla/5.0'}
'''
這里用requests的session來(lái)請(qǐng)求網(wǎng)頁(yè),做到維持同一會(huì)話(huà)的目的
'''
session = requests.Session()
reqsonse = session.post(url=url, headers=headers, data=data)
'''
接下來(lái)就可以請(qǐng)求別的登陸后的頁(yè)面,而不需要處理cookies
'''
url2 = '這里是已經(jīng)登錄后的某一頁(yè)面'
response = session.get(url=url2, headers=headers)
以上這篇python模擬登陸,用session維持回話(huà)的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python將多個(gè)py文件和其他文件打包為exe可執(zhí)行文件
這篇文章主要介紹了python將多個(gè)py文件和其他文件打包為exe可執(zhí)行文件,通過(guò)準(zhǔn)備要打包的工程文件展開(kāi)詳情,需要的小伙伴可以參考一下2022-05-05
python圖像處理-利用一行代碼實(shí)現(xiàn)灰度圖摳圖
這篇文章主要介紹了python圖像處理-利用一行代碼實(shí)現(xiàn)灰度圖摳圖,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05
關(guān)于Tensorflow和Keras版本對(duì)照及環(huán)境安裝
這篇文章主要介紹了關(guān)于Tensorflow和Keras版本對(duì)照及環(huán)境安裝方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08
python中關(guān)于數(shù)據(jù)類(lèi)型的學(xué)習(xí)筆記
在本篇文章里小編給大家整理了關(guān)于python中關(guān)于數(shù)據(jù)類(lèi)型的學(xué)習(xí)筆記內(nèi)容,需要的朋友們可以參考下。2020-07-07
Python使用captcha庫(kù)制作帶參數(shù)輸入驗(yàn)證碼案例
這篇文章主要介紹了Python使用captcha庫(kù)制作驗(yàn)證碼,帶參數(shù)輸入,本文通過(guò)實(shí)例案例解析給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05
Jupyter?notebook運(yùn)行后打不開(kāi)網(wǎng)頁(yè)的問(wèn)題解決
本文主要介紹了Jupyter?notebook運(yùn)行后打不開(kāi)網(wǎng)頁(yè)的問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03
python密碼學(xué)一次性密碼的實(shí)現(xiàn)
這篇文章主要為大家介紹了python密碼學(xué)一次性密碼的實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05

