爬虫的概念
网络爬虫也叫网络蜘蛛,它特指一类自动批量下载网络资源的程序,这是一个比较口语化的定义
更加专业和全面的定义是:网络爬虫是伪装成客户端与服务端进行数据交互的程序
关于爬虫还有句顺口溜:
“爬虫爬得欢,监狱要坐穿;数据玩的溜,牢饭吃个够”
爬虫的应用
1. 数据采集
2. 搜索引擎
3. 模拟操作
会话技术(为了解决HTTP无状态的这个特点)
Cookie(存储在客户端) 可以理解为一个凭证
其实就是由服务器发给客户端的特殊信息,而这些信息以文本文件的方式存放在客户端,然后客户端每次向服务器发送请求的时候都会带上这些特殊的信息
服务器在接收到cookie以后,会验证cookie的信息,以此来辨别用户的身份
Session(存储在服务端)
Session,中文经常翻译为会话,其本来的含义是指有始有终的一系列动作/消息,比如打电话时从拿起电话拨号到挂断电话这中间的一系列过程可以称之为一个Session
而我们一般使用的是其本义,一个浏览器窗口从打开到关闭这个期间
Session的目的则是,在一个客户从打开浏览器到关闭浏览器这个期间内,发起的所有请求都可以被识别为同一个用户
实现的方式则是,在一个客户打开浏览器开始访问网站的时候,会生成一个cookie,SessionID
这个ID每次的访问都会带上,而服务器会识别这个SessionID并且将与这个SessionID有关的数据保存在服务器上,由此来实现客户端的状态识别
因此Session是基于Cookie的
Session与Cookie相反,Session是存储在服务器上的数据,只由客户端传上来的SessionID来进行判定,所以相对于Cookie,Session的安全性更高
一般SessionID会在浏览器被关闭时丢弃,或者服务器会验证Session的活跃程度,例如30分钟某一个SessionID都没有活跃,那么也会被识别为失效