如何使用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)