Python 如何在请求会话期间注销网站
我试图从一个需要登录的网站上抓取一些数据。使事情复杂化的是,我正在从三个不同的帐户中提取数据。换句话说,我需要登录到这个站点,刮取数据,然后注销,三次 注销按钮后面的html如下所示: 我尝试过的(非常简化的)代码如下:Python 如何在请求会话期间注销网站,python,python-requests,Python,Python Requests,我试图从一个需要登录的网站上抓取一些数据。使事情复杂化的是,我正在从三个不同的帐户中提取数据。换句话说,我需要登录到这个站点,刮取数据,然后注销,三次 注销按钮后面的html如下所示: 我尝试过的(非常简化的)代码如下: import requests for account in [account1,account2,account3]: with requests.session() as session: [[login code here]]
import requests
for account in [account1,account2,account3]:
with requests.session() as session:
[[login code here]]
[[scraping code here]]
session.get(url + "/logout")
使用第一个帐户进行刮取可以正常工作,但之后就不行了。我想这是因为我没有正常注销。我能做些什么来解决这个问题?很简单:
您应该伪造正确的登录请求
要执行此操作,请转到登录页面:
内容类型标题,它可能会破坏您的代码)
请求。[get | post](…)
到会话。[get | post](…)
不知道这是否有效,但请尝试使用
session.cookies.clear()
清除会话cookies。另外,您确定问题是串行登录,而不是任何帐户?也许您已经尝试过这个方法,但如果没有,请尝试更改列表中帐户的顺序。它将帮助您调试。@KeyurPotdar在“session.get(url+”/logout”)”之后或代替“session.get(url+”/logout”)”?而不是注销。