cookie处理

简介: 爬虫系列文章

cookie

  • cookie是存储在客户端的一组键值对
  • cookie是由服务器端创建
  • cookie应用的简单示例:

    • 免密登录(指定时长之内)
  • 在爬虫中处理cookie的两种方式

    • 手动处理

      • 将cookie封装到headers字典中,将该字典作用到get/post方法的headers参数中
    • 自动处理

      • Session对象。
      • Session对象的创建:requests.Session()
      • 对象的作用:

        • 可以跟requests一样调用get/post进行请求的发送。在使用session进行请求发送的过程中,如果产生了cookie,则cookie会被自动存储到session对象中。
      • 在爬虫中使用session处理cookie时,session对象至少需要被用几次?

        • 两次。第一次是为了捕获和存储cookie到session对象中,第二次就是用携带cookie的session进行请求发送,这次请求发送就是携带cookie发起的请求。
import requests
headers = {
    'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36'
}
#https://xueqiu.com/,将雪球网中的新闻资讯进行数据爬取
#分析:首页第一屏的数据不是动态加载,但是滚轮滑动到底部后会动态加载出更多新闻数据
url = 'https://xueqiu.com/v4/statuses/public_timeline_by_category.json?since_id=-1&max_id=20367942&count=15&category=-1'
json_data = requests.get(url=url,headers=headers).json()
json_data
#没有捕获到正确的数据,原因在于我们进行请求发送的时候没有在请求头中携带cookie
#基于session自动处理cookie
sess = requests.Session()

#该次请求只是为了捕获cookie存储到sess中
sess.get(url='https://xueqiu.com/',headers=headers)

url = 'https://xueqiu.com/v4/statuses/public_timeline_by_category.json?since_id=-1&max_id=20367942&count=15&category=-1'
json_data = sess.get(url=url,headers=headers).json()
json_data
相关文章
|
6月前
|
存储 安全
什么是Cookie与Session之Cookie详解
什么是Cookie与Session之Cookie详解
74 0
|
14天前
|
存储 安全 Unix
22 Cookie
路老师在知乎上分享PHP语言的知识,帮助大家入门并深入了解PHP。本文主要介绍Cookie的概念、功能及管理方法,包括如何创建、读取、删除Cookie,以及Cookie的生命周期等内容。纯干货,技术知识分享。
20 0
|
6月前
|
存储 缓存 物联网
新EDPB指南:不只是Cookie
保障中国企业符合《个人信息保护法》合规,方案包括梳理基线、发现敏感信息、简化评估工作流、快速响应权利请求、满足告知同意要求,以及有效保护敏感数据。用九智汇整合自动化工具和规则引擎,确保高效风险评估、合规证据链建立,进一步保障数据安全。
81 1
|
存储 安全 算法
96 # cookie
96 # cookie
56 0
|
存储 编解码 应用服务中间件
Cookie浅谈
Cookie浅谈
88 0
向Cookie里添加东西
向Cookie里添加东西
83 0
|
存储 Web App开发 API
Cookie
Cookie
83 0
|
存储 JavaScript 前端开发
Cookie 剖析
Cookie 剖析
134 0