一、什么是Cookie?

1.cookie的本质就是一组数据(键值对的形式存在)

2.是由服务器创建,返回给客户端,最终会保存在客户端浏览器中

3.如果客户端保存了cookie,则下次再次访问该服务器,就会携带cookie进行网络访问

典型的案例:网站的免密登录

二、爬取雪球网中的咨询数据

1.url:https://xueqiu.com/,需求就是爬取热帖内容

2.经过分析发现帖子的内容是通过Ajax动态加载出来的,因此通过抓包工具,定位到Ajax请求的数据包,从数据包中提取:

①url:https://stock.xueqiu.com/v5/stock/realtime/quotec.json?symbol=SH000001,SZ399001,SZ399006&_=1748402029130

②请求方式:get

③请求参数:拼接在了url后面

发现没有拿到我们想要的数据

三、分析why?

1.切记:只要爬虫拿不到你想要的数据,唯一的原因是爬虫程序模拟浏览器的力度不够!一般来讲,模拟的力度重点放置在请求头中!

2.上述案例。只需要在请求头headers中添加cookie即可!

四、爬虫中cookie的处理方式(两种方式):

1.手动处理:将抓包工具中的cookie赋值到headers中即可

缺点:

①编写麻烦

②cookie通常都会存在有效时长

③cookie中可能会存在实时变化的局部数据

2.自动处理(重点)

①爬虫的session会话对象:

在爬虫里,session对象是一个非常常用的对象,这个对象代表一次用户会话(从客户端浏览器连接服务器开始,到客户端浏览器与服务器断开)。session对象能让我们在跨请求时候保持某些参数,比如在同一个session实例发出的所有请求之间保持cookie。

②基于session对象实现自动处理cookie

1.创建一个空白的session对象

2.需要使用session对象发起请求,请求的目的是为了捕获cookie

注意:如果session对象在发请求的过程中,服务器端产生了cookie,则cookie会自动存储在session对象中

3.使用携带cookie的session对象,对目的网址发起请求,就可以实现携带cookie的请求发送,从而获取想要的数据

注意:session对象至少需要发起两次请求

第一次请求的目的是为了捕获cookie到session对象

后次的请求,就是携带cookie发起的请求了

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐