今天写爬虫遇到了相关Cookie和Session相关的知识,突然想起自己曾经面对这个问题也是有点晕,所以就借这个机会写一篇有关Cookie和Session的文章,以加深自己的理解,同时也希望可以帮助到其他的小伙伴。
引言:爬虫为什么需要使用Cookie和Session呢?
简单来说,某些网站为了应对爬虫爬取网站上的信息而设置的一种反扒手段。
Cookie是什么?
简单的说就是当用户通过http协议访问服务器的时候,服务器会将一些键值对返回给浏览器,并将这些数据加上一些限制条件。在条件符合时,这个用户下次再访问服务器的时候,数据又被完整的带给服务器。
首先说下Cookie和Session的区别:
1,Cookie数据存放在客户端的浏览器上,而Session则是存放在被访问的服务器上。
2,Cookie不是很安全,别人可以分析存放在本地的Cookie进行Cookie欺骗(获取用户的Cookie的相关信息),而Session会在一定时间内保存在服务器上,当访问增多,它会比较多的占用服务器的性能。
3,当个Cookie的保存数据不能超过4k,很多浏览器都会限制一个站点最多保存20个Cookie。
关于爬虫是否带上Cookie的选择:
1,随着某些网站的反扒越来越严格,很多网站都要求登录之后才能看到某些数据,这时候就需要你带上Cookie才能获取该网站的相关信息,但是一旦你的爬虫带上Cookie信息,网站的后台人员和维护人员就可以从你的Cookie信息中分析你的行为,最终的结果很可能你的爬虫就被封了。那么可能你会说,这中情况下爬虫不带上Cookie拿不到数据啊,带上Cookie又容易被封,怎么办呢?其实只要你的爬虫尽量模拟的想一个正常用户,网站的维护人员想封你也不是那么容易的。
2,一套Cookie和Session往往和一个用户相对应,请求的数据太多,请求的速度太快,很容易就会被识别为爬虫,从而账号受到损害。
使用建议:不需要Cookie的时候就尽量不要去使用Cookie,有些网站必须要登录,那么我们在发送带有Cookie的请求的时候,应该尽量保证账号的安全而降低采集数据的速度,尽量把自己模拟的想一个正常用户。
好了,这就是我在写爬虫的时候一点使用心得,希望可以和小伙伴们一起共同进步。
路漫漫兮其修远兮
网友评论