import requests
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKi\
t/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36'
}
url = 'http://www.renren.com/PLogin.do'
# res = requests.get(url, headers=headers)
# print(res.cookies)
# print(res.cookies.get_dict())
data = {
'email': '人人网用户名',
'password': '人人网用户的密码'
}
session = requests.Session()
session.post(url, data=data, headers=headers) #可以尝试在不传入data参数的时候直接访问个人主页,将url直接改成人人网个人主页即可
resp = session.get('人人网个人主页') #类似:http://www.renren.com/969180896/profile
with open('test.html', 'w', encoding='utf-8') as test:
test.write(resp.text) #将这个个人主页下载到本地打开可以查看
选人人网是因为人人网的登录简单直接在网页上登录且登录一般没有验证码,个人主页需要在登录账户的情况下才能查看所以算是一个比较好的练习。当然其他还有好多保存cookie的方法。有些网页的编码问题还是很恼火的,下次有时间发一篇字符编码的
这边的原理是这样(暂且算是原理吧):session类是一个会话窗口(学过一点前端运维知识一般都知道,就像你的浏览器去登录一个网站服务器和你就有一个session),session.post方法就像你登录网站一样,后面的参数就是你要登录的网站网址,data里存储的就是你的用户名和密码(有的网站用户名和密码不是这个data的键),post之后这个session就记住你已经登录了,然后再使用session.get方法你在去查看人人网个人主页的时候就认为你是登录状态下的了。当然这个session也是会过期的。