Python:使用requests後保持Session,繼續實現瀏覽、下載等效果
阿新 • • 發佈:2019-01-23
如何使用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)