from requests import get,post,Session
REQ_HEADERS = {
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36",
"Referer": "http://www.ichunqiu.com/login"
}
#下面换成你的账号信息
REQ_PAYLOAD = {
"username": "18888888888",
"password": "99999999",
"yzm": None,
"rem": 0
}
# requests的Session可以自动保持cookie,不需要自己维护cookie内容
S = Session()
# 先访问login页面,拿一部分cookies
R_1 = S.get("http://www.ichunqiu.com/login",headers=REQ_HEADERS)
# 再携带cookie提交登录的post
R_2 = S.post("http://www.ichunqiu.com/loginCtl/dialog_login",headers=REQ_HEADERS,data=REQ_PAYLOAD)
# 访问个人页面内的一个XHR,测试是否有权限拿到登录后的个人信息,同样需携带cookie
R_3 = S.get("http://www.ichunqiu.com/personal/selleft",headers=REQ_HEADERS)
R_3.encoding = "UTF-8"
print R_3.text
with open("test.html","w+") as f:
f.write(R_3.content)
输出结果:
注释掉 R_2的登录请求,直接请求R_3的个人信息相关的XHR,则只能得到网站未登录的首页.
我是python 2.7.11 print语法不兼容你的python 3.x 自己用的时候改一下就好了。