python使用request模拟登陆之后不知道怎么获取后面内容
本帖最后由 Heart灬欣 于 2020-8-9 14:58 编辑header1 = {
"Content-Type": "text/html;charset=GBK",
"Vary": "Accept-Encoding"
}
url = "http://ea.swmu.edu.cn/jsxsd/"
requests.session().get(url=url, headers=header1, timeout=1000)
cookies = requests.session().cookies.get_dict()# 获得临时的cookies
cookies = str(cookies).replace("{", '').replace("'", '').replace(":", '=').replace('}', '').replace(",", ";")
cookies = cookies.replace(" ", '')
header = {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;"
"q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding": "gzip, deflate",
"Accept-Language": "zh-CN,zh;q=0.9",
"Cache-Control": "max-age=0",
"Content-Length": "47",
"Content-Type": "application/x-www-form-urlencoded",# 接收类型
"Cookie": cookies,
"Host": "ea.swmu.edu.cn",
"Origin": "http: // ea.swmu.edu.cn",
"Proxy-Connection": "keep-alive",
"Referer": "http://ea.swmu.edu.cn/jsxsd/",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 "
"(KHTML, like Gecko) Chrome/76.0.3809.132 Mobile Safari/537.36",
}
PostData = {
'encoded': encoded# 账号密码加密后的东西(这里在没有粘贴的代码是解决了的)
}
url = 'http://ea.swmu.edu.cn/jsxsd/xk/LoginToXk'
msg = requests.session().post(url, headers=header, data=PostData, timeout=1000)# 这里登陆成功了msg是登陆成功的那个界面目前遇到的问题是我已经登陆成功了,但是不知道如何获取这个网站的其它内容,百度过相关的代码,是直接使用:r=requests.session().get(url)
但是还是不行,不知问题出在哪了.求高手指点一下谢谢了!
那要看你需要获取啥了
Menguy 发表于 2020-8-9 11:53
你想得到什么啊?找到你想得到的东西的请求,发送请求,返回的就是你想拿到的
返回的是登陆界面.意思就是 相当于没有登陆成功 Menguy 发表于 2020-8-9 11:53
你想得到什么啊?找到你想得到的东西的请求,发送请求,返回的就是你想拿到的
就是返回的这个界面 1047861073 发表于 2020-8-9 11:50
那要看你需要获取啥了
就是不知道怎么获取,不是我不知道get或者post. 你这个网站不需要填验证码就可以登录,所以我建议你直接账号密码登录,不要使用cookie,因为cookie会过期,账密登录的话不改密码,页面没改 你这个程序就可以永久有效 账号密码提交,获取cookie,携带cookie登录。
登录后当然是要携带cookie登录才有登录信息 Menguy 发表于 2020-8-9 12:02
你这是没登录成功你先登录成功再说其他的, 你连门都没进你能拿到啥东西
我登陆成功了的啊,我给你的截图是后面的请求返回这个东西...我认为是后面的代码不对.
msg = requests.session().post(url, headers=header, data=PostData, timeout=1000)
这个代码就已经登陆成功了,返回的内容是登陆成功的界面,只是我没有贴出来