当前位置:   article > 正文

python 爬虫(cookie)到底是干嘛的?

python 爬虫(cookie)到底是干嘛的?

cookie和session区别

  • cookie数据存放在客户浏览器上,session数据放在服务器上
  • cookie不是很安全,别人可以分析放在本地的cookie并进行cookie欺骗
  • session会在一定时间上保存在服务器。当访问增多,会比较占用服务器的性能。
  • 单个cookie保存的数据不能超过4K,很多浏览器限制到一个站点最多保存20个cookie

爬虫处理cookie和session

带上cookie、session的优点:

能够请求到登录后页面

带上cookie、session的弊端:

  • 不需要cookie的时候尽量不去使用cookie
  • 但是为了获取登录后的页面,我们必须发送带有cookie的请求

一套cookie和session往往和一个用户对应

请求太快、请求次数太多、容易被服务器识别为爬虫

携带cookie的请求

携带一堆cookie进行请求,把cookie组成cookie池

处理cookie、session请求

requests提供了一个叫做session类,来实现客户端和服务端的会话保持

使用方法:

  1. 实例化一个session对象
  2. session发送get或者post请求
session = requests.session()
resp = session.get(url,headers)
  • 1
  • 2

请求登录之后的网站

未登录时我们无法直接通过url地址访问用户信息页

  • 实例化session
  • 先使用session发送请求,登录网站,把cookie保存在session中
  • 再使用session请求登录之后才能访问的网站,session能够自动的携带登录成功是保存在其中的cookie,进行请求
import requests
session=requests.session()
port_url='http://www.renren.com/PLogin.do'
post_data={}
headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.82 Safari/537.36"}
  • 1
  • 2
  • 3
  • 4
  • 5

不发送post请求,使用cookie获取登录后的页面

  • cookie过期时间很长的网站
  • 在cookie过期之前能够拿到所有的数据,比较麻烦
  • 配合其他程序一起使用,其他程序专门获取cookie,当程序专门请求页面

获取登录后的页面三种方式

  • 实例session,使用session方发送post请求,在使用他登录后的页面
  • header中添加cookie键,值为cookie字符串
  • 在请求方法中添加cookie参数,受字典形式的cookie。字典形式的cookie中的键是cookie的name,值是cookie的value
---------------------------END---------------------------

题外话

感谢你能看到最后,给大家准备了一些福利!

感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/450941
推荐阅读
相关标签