爬虫之cookie与session的设置

设置cookie与session是为了在爬取某些需要登陆后才能进行查看的网页,比如人人网的个人主页,就必须要登陆之后才可以进行查看。因此就需要进行cookie的设置。
cookie的设置:

import requests
base_url = 'http://www.renren.com/PLogin.do'
#设置请求头,伪装浏览器进行访问
headers = {
	#设置用户代理
    'user-agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0'
}
data = {
    'email':'1xxxxxxxxxx',
    'password':'1xxxxxxxxxx'
}
#将用户名与密码以字典形式保存,跟随参数一起发送给服务器
reponse = requests.post(url=base_url,data=data,headers=headers)
contents = reponse.content.decode('utf-8')
with open('人人网.html','w',encoding='utf-8')as f:
    f.write(contents)

由于我们是模拟浏览器访问服务器,没有办法进行cookie的保存,难以避免的在登录之后如果想要跳转到另一个页面继续访问,就会被恢复到未登录状态。因此这时候就需要用到session了,它可以保持我们的登录状态,就像是我们真的在浏览器中登录自己的账号一样。

import requests
base_url = 'http://www.renren.com/PLogin.do'
#在登录之后仍然需要进行访问的页面
re_base_url = 'http://www.renren.com/971291501/newsfeed/origin'
haders = {
    'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0'
}
data = {
    'email':'18768867576',
    'password':'1948336909'
}
#创建session对象
s = requests.Session()
#使用session对象以post形式发送请求信息
s.post(base_url,data=data,headers=haders)
#需要再次访问的网页则以get方式请求
r = s.get(re_base_url)
contents = r.content.decode('utf-8')
with open('session人人网.html','w',encoding='utf-8')as f:
    f.write(contents)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值