前言
提示:这里可以添加本文要记录的大概内容:
例如:随着互联网的不断发展,数据对于各行各业来说也越来越重要,很多人都开启了学习爬虫以用来获取所需数据,本文就介绍了网络爬虫的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
一、网络爬虫是什么?
1 直接给出网络爬虫的定义过于抽象,所以简单的做一个比喻。
我们可以把整个互联网比作是一张超级蜘蛛大网,里面包含着千千万万各行各业所需要的数据,而网络爬虫就是这张蜘蛛网上的一个蜘蛛,顺着网络不断地获取这张大网当中的数据
2 网络爬虫的定义
网络爬虫特指一类能够批量自动化下载网络资源的程序
二、网络爬虫能干什么
1.数据采集
对于当前互联网发展迅速的条件下,数据 就是核心,数据就是生产力,所以获取数据就是一件非常重要的事情
2.搜索引擎
当前的百度,等等搜索引擎大多都是以网络分布式爬虫为基础开发出来的程序,包括某头条也是靠着数据爬取发家致富
3.测试操作
通常在一些情况下一些服务器要测试负载均衡能力则需要网络爬虫进行测试
4 网络安全
如短信轰炸,web漏洞扫描等问
三 网络爬虫一般的分类以及开发流程
1 通用爬虫
一般是用来作为搜索引擎的基础,大量的搜索所有数据从而做出一个备份数据镜像
2 聚焦爬虫
用来爬取特定类型数据的程序,一般是用来面向特殊主题的网络爬虫
四 爬虫的基本流程图
1 静态爬虫即单页面爬虫一般流程是
1 输入url发出请求
2 服务器响应请求,并返回响应内容
3 根据响应返回的内容提取我们所需要的数据并进行保存
2 动态多页面的爬虫流程
1 发送请求
2 服务器响应并返回响应的内容
3 提取到新的url继续请求一直到无url可请求
五 爬虫准备(http)
1 为什么要学习http相关内容
因为爬虫是模拟浏览器的行为来获取服务器地响应,而浏览器和服务器之间进行传输数据又离不开http协议所以我们必须首先了解有关http的一些相关内容。
2 http协议
目前大多数网站都通过http协议来传输数据,因为客户端和服务端之间传输的数据各式各样五花八门,所以我们必须要规定一个固定格式的协议来确定传输所需要遵守的协议。
(注意:http协议是运输层协议是基于tcp/ip协议来传输各种数据的包括(html,css,JavaScript等))
3 首先了解tcp/ip协议的三次握手,四次挥手
1 客户端: 我喜欢你,咱们谈恋爱吧(发起请求)
服务端: 我也喜欢你,咱们恋爱了。(接受请求,建立连接)
客户端: 我想跟你上床,咱们互相交换数据吧(开始交换数据,包括html,图象,音频等)
客户端: 你走吧,我玩够了不想要你了()第一次挥手准备断开连接
服务端: 不要啊,你真的要走吗
服务端:既然你要走,我也没必要再继续挽留了
客户端:好的,我走了再也不见
2 ip协议:ip地址通常所指的是通信的时候,双方必须知道对方的标识,好比发邮件必须知道对方的邮件地址。互联网上每个计算机的唯一标识就是IP地址,类似123.123.123.123
。如果一台计算机同时接入到两个或更多的网络,比如路由器,它就会有两个或多个IP地址,所以,IP地址对应的实际上是计算机的网络接口,通常是网卡。
而所谓的ip协议是指在通信过程中IP协议负责把数据从一台计算机通过网络发送到另一台计算机。数据被分割成一小块一小块,然后通过IP包发送出去。由于互联网链路复杂,两台计算机之间经常有多条线路,因此,路由器就负责决定如何把一个IP包转发出去。IP包的特点是按块发送,途径多个路由,但不保证能到达,也不保证顺序到达。
3 tcp协议:tcp协议是建立在ip协议的基础上的,tcp协议负责在计算机之间建立较为可靠的连接,保证数据包按顺序到达,tcp会通过对ip包进行编号,使得ip包能够按顺序顺利到达,ruguoip包未能顺利到达,那么tcp将会自动重发。
4 http请求全流程
1 根据url进行域名解析出服务器的ip地址,然后根据ip地址建立ip/tcp协议
2 客户端发起三次tcp挥手
3 建立tcp连接,并发起http请求数据(http请求格式:请求方法+请求头+请求参数)
4 服务器响应请求并通过http传输协议传输相应的数据
5 浏览器获得响应的数据
6 浏览器渲染出界面并返回给客户端
5 http请求方法
1 get方法:从服务器获取数据
2 post方法:像服务器发送数据请求(例如表单,文件等数据。)请求服务器处理请求数据
3 PUT方法:像服务发送数据替换指定的文档
4 head方法:只获取服务器返回内容的报头没有正文内容
5connection方法: 允许客户端连接服务器
6 http常见的请求头
host:指定的请求资源的域名,http请求当中必须包含主机和端口号否则响应状态码为403
user-agent:发送请求的代理浏览器信息
cookie:主要包括需要登陆的网站包含的登录信息,在我们需要登陆的网站需要这些信息。
aceept:主要告诉客户端哪些浏览器时可接受的信息
7 http常见的响应状态码
8 http工作流程总结
最后总结(http特点 )
1 http协议是无连接的:客户端和服务器之间的连接请求是有限制的,即一次连接只处理一次请求,http传输结束之后即断开来连接
2 http协议是媒体独立的:即只要http协议知道客户端和服务端之间是如何连接的,那么任何类型的数据都是可以传输的
3 http协议是无状态的:即每次连接传输数据后,服务器并不会记录这次连接以及传输的任何相关记录。