python爬虫cookie处理_Python爬虫(六)cookie相关的请求处理

之前的文章中讲到,有很多网站为了防止爬虫程序爬网站造成网站瘫痪,所以我们的程序在模拟浏览器访问这些网站时,需要携带一些headers头部信息才能访问,最常见的有User-Agent、referer、cookie参数。那么针对cookie参数的处理 ,有以下两种方式。

直接携带cookie请求url地址

cookie放在headers中。这种方式与headers中携带User-Agent一样,只需要将cookie字符串放在headers字典中即可。

headers = {'User-Agent': '......',

'Cookie':'cookie字符串'}

requests.post(url, date, headers=headers)

cookie字典传给cookies参数。这种方式需要新增一个cookie的字典,再将该参数传给cookies参数。写一个简单的例子:Cookie:OUTFOX_SEARCH_USER_ID=-1514949692@10.169.0.83; JSESSIONID=aaasMk1xexHQo77h5hWSw; OUTFOX_SEARCH_USER_ID_NCOO=253932778.30526197; ___rl__test__cookies=1559880583877,“=”左边为参数,“=”右边为值。

Cookie_dirt = { 'OUTFOX_SEARCH_USER_ID'= '-1514949692@10.169.0.83',

'JSESSIONID'='aaasMk1xexHQo77h5hWSw',

'OUTFOX_SEARCH_USER_ID_NCOO'='253932778.30526197',

'___rl__test__cookies'='1559880583877'

}

requests.post(url, date, headers=headers, Cookie=Cookie_dirt)

使用session

假如我们现在要登陆一个网站,需要输入用户名(username)和密码(password),那么我们可以先发送一次post请求,获取到cookie,然后再携带cookie请求登陆之后的页面。使用这种方法,我们需要用的session。使用session发送一次请求,那么服务器设置在本地的Cookie,则会直接保存在session中,此时我们再用session.get直接请求登陆后的界面。写一个简单的例子如下:

import requests

#实例化session

s = requests.session()

post_url = '登录界面的url'

headers = {}

post_data = {'username': '',

'password': ''}

s.post(post_url, headers=headers, post_data=post_data)

#再使用session请求登陆后的页面

url = '登陆后的页面url'

response = s.get(url, headers=headers)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值