爬虫基础——Cookie
一、什么是Cookie?
1.cookie的本质就是一组数据(键值对的形式存在)
2.是由服务器创建,返回给客户端,最终会保存在客户端浏览器中
3.如果客户端保存了cookie,则下次再次访问该服务器,就会携带cookie进行网络访问
典型的案例:网站的免密登录
二、爬取雪球网中的咨询数据
1.url:https://xueqiu.com/,需求就是爬取热帖内容
2.经过分析发现帖子的内容是通过Ajax动态加载出来的,因此通过抓包工具,定位到Ajax请求的数据包,从数据包中提取:
②请求方式: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发起的请求了

更多推荐
所有评论(0)