1.定义:也叫网络蜘蛛,网络爬虫就是伪装成客户端与服务端进行数据交互的程序。
2.分类:
1.通用爬虫:将互联网的网页下载到本地,形成一个互联网内容的镜像备份。因此具有局限性,返回内容一样。
2.聚焦爬虫:面向特定主题需求的一种网络爬虫,与通用爬虫区别在于聚焦爬虫时会在页面抓取时过滤内容,尽量蜘蛛区需求相关的内容。
3.爬虫过程:
1.单一页面的爬取:
url--------->发送请求,获取响应-------------->提取数据------------->保存数据
2.多页面爬取:
url--------->发送请求,获取响应--------------->提取url,继续请求
4.HTTP与HTTPS:
客户端与服务端之间进行数据交互的传输协议中,大部分的网络传输基于http协议。
HTTP协议:超文本传输协议,基于tcp/ip通信协议传出数据。
http请求流程:一次http请求包含客户端向服务端发送的一次请求与服务端向客户端返回的一次响应过程。
首先根据url进行域名解析,目的是找到服务端机器,
其次发起tcp三次握手建立连接,连接建立后,发送请求,
紧接着服务端接到请求后进行响应,客户端得到html代码,进而解析代码并请求html中的资源
得到资源后客户端对页面进行渲染并呈现给用户。
请求方式:
get:从服务器上获取数据
post:向服务器提交数据
delete:删除指定页面
head:类似于get,返回请求报头
option:允许客户端查看服务器的性能
http请求格式:请求行,请求头,空行,请求数据
http响应格式:响应行(状态行),消息报头,空行,响应数据
http协议特点:
1.无连接:每次连接只处理一个请求,服务器处理完强求后并接收到客户端的应答后,断开连接。目的是节约传输时间,降低服务器负载。
2.无状态:服务器对于客户端的请求是没有记忆的,一次请求完成后再次请求时服务器不记得客户端。客户端再次请求时,需要重新进行http请求。
延伸:http是无状态的,如何区分一个用户的连续请求?
使用会话技术:cookies和session
cookies:身份证。是服务端给客户端发送的特殊信息,当客户端再次请求时,服务端会验证其cookies,以此确定客户端身份。
session:会话,爬虫领域中指的是,一个浏览窗口从打开到关闭的期间。
session实现方式:在一个session会话中,当客户端开始访问时,会产生一个sessionID,这个sessionID每次访问时都会带上,服务端收到时,会识别这个sessionID并保存与此相关的数据到服务端上。由此来判断客户端的状态。
HTTPS:超文本传输安全协议,同样基于tcp/ip通讯协议,并在此基础上加上一层SSL/TLS协议,保证数据传输的加密性。(默认端口443)