Python3爬虫技术文档(四)——cookies

Cookie,有时也用其复数形式 Cookies。类型为“小型文本文件”,是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。
一个 Web 站点可能会为每一个访问者产生一个唯一的ID, 然后以 Cookie 文件的形式保存在每个用户的机器上。如果使用浏览器访问 Web, 会看到所有保存在硬盘上的 Cookie。在这个文件夹里每一个文件都是一个由“名/值”对组成的文本文件,另外还有一个文件保存有所有对应的 Web 站点的信息。在这里的每个 Cookie 文件都是一个简单而又普通的文本文件。透过文件名, 就可以看到是哪个 Web 站点在机器上放置了Cookie(当然站点信息在文件里也有保存)。
所以,我们可以通过Cookie登录某个网站,从而跳过各种验证。

Cookie组成

Cookie是一段不超过4KB的小型文本数据,由一个名称(Name)、一个值(Value)和其它几个用于控制Cookie有效期、安全性、使用范围的可选属性组成。

  • Name/Value
    设置Cookie的名称以及相对应的值,对于认证Cookie,Value值包括Web服务器所提供的访问令牌。
  • Expires属性
    设置Cookies的生存期,有两种存储类型的Cookie:会话性与持久性,Expires属性缺省时,为会话性Cookie,仅保存在客户端内存中,并在用户关闭浏览器时失效。持久性Cookie会保存在用户的硬盘中,直至生存期到或用户直接在网页中单击“注销”等按钮结束会话时才会失效。
  • Path属性
    定义了Web站点上可以访问该Cookie的目录
  • Domain属性
    指定了可以访问该Cookie的Web站点或域,Cookie机制并未遵循严格的同源策略,允许一个子域可以设置或获取其父域的Cookie,当需要实现单点登录方案时,Cookie的上述特性非常有用,然而也增加了Cookie受攻击的危险。
  • Secure属性
    指定是否使用HTTPS安全协议发送的Cookie,使用HTTPS安全协议,可以保护Cookie在浏览器和Web服务器间的传输过程中不被窃取和篡改。
  • HTTPOnly属性
    用于防止客户端脚本通过document.cookie属性访问Cookie。有助于保护Cookie不被跨站脚本攻击窃取或篡改。但是,HTTPOnly的应用仍存在局限性,一些浏览器可以阻止客户端脚本对Cookie的读取操作,但允许写操作,此外,大多数浏览器仍允许通过XMLHTTP对象读取HTTP响应中的Set-Cookie头。

获取Cookie

这里以淘宝为例,在登录后,F12,选择Network
在这里插入图片描述
找到这个文件在这里插入图片描述
在右侧Headers里找到cookie
在这里插入图片描述
这里就是你登录时向服务器发送的cookie。
我们在获取到这个cookie后就可以在爬虫里面使用cookie登录网站了

构造cookie

###
headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36'}
    cookies = {"你登录后的cookies值"}
###

之后再发送请求的时候把headers参数添加进去即可用过cookie登录网页。
由于cookie大多都有时间限制,即有效期,所以我们可以通过session或者其他方法登录网页,然后通过document.cookie或者其他方法获取cookie。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值