1. 程式人生 > >Python:使用requests後保持Session,繼續實現瀏覽、下載等效果

Python:使用requests後保持Session,繼續實現瀏覽、下載等效果

如何使用requests後登入網站後,保持Session繼續實現瀏覽、下載等效果?

兩個request之前都是單獨的請求,需要保持Session,重點看下面第二段程式碼。

下面的程式碼,實現的是一個網站通過request的post方式,使用者名稱+密碼登入。

import requests

url = "http://?????.com/SvltLogin"
response = requests.post(url, data={"txtUsr_id": "00000001", "txtPassword": "mima"})
response.encoding = "GBK"
print(response.text)

下面的程式碼,通過Session登入,瀏覽需要登入後的頁面

import requests

url = "http://?????.com/SvltLogin"
s = requests.session() #建立一個Session
response = s.post(url, data={"txtUsr_id": "00000001", "txtPassword": "mima"}) #session登入網站
response = s.get("http://?????.com/SvltLogout") #session瀏覽頁面
response.encoding = "GBK"
print(response.text)

下面的程式碼是登入,下載,登出

#!/usr/bin/python
import requests

url = "http://?????.com/SvltLogin"
s = requests.session()
# 登入
response = s.post(url, data={"txtUsr_id": "00000001", "txtPassword": "mima"})

# 下載檔案
url = "http://?????.com/a.csv"
response = s.get(url)
with open("C:\\a.csv", "wb") as f:
    f.write(response.content)

# 網站退出
response = s.get("http://?????.com/SvltLogout")
response.encoding = "GBK"
print(url)