爬虫基础

51 阅读4分钟

爬虫

爬虫就是通过伪装客户端获取网页并提取和保存信息的自动化程序。

分类:

  • ①通用爬虫:浏览器
  • ②聚焦爬虫:建立在通用爬虫的基础上,抓取页面指定数据。

爬虫的步骤:

-(1)、分析页面

①找到抓取的数据。

②找到加密参数的生成位置

③构建加密参数

-(2)、获取数据

数据:

①动态数据:API

②静态数据:源代码和HTML代码。

请求和响应:

我找你要,你给我给。

api接口当中的数据(json字符串)

-(3)、解析数据

取其精华去其糟粕。

-(4)、保存数据

保存在电脑当中

保存在数据库中

协议

  • http:计算机之间也是需要一种规则,保障之间信息的有效交流,这就是HTTP协议
  • https:以安全为目标的http通道,加入了SSL层。

URL:统一资源定位符(网址)

构成:协议+域名+路径+参数
请求:由客户端发往服务器,可分为四个部分:
  • (1)、请求方法:用于标识请求客户端请求服务器的方法。

常见请求方法:

①get:

1、主要是负责从服务器中获取数据
2、URL中添加请求参数,显示在地址栏
3q请求字符限制1024个字节
4、比post更高效和方便

②post:

1、主要负责向服务器提交数据
2、没有大小限制
3、比get传递数据量大,安全性高
  • (2)、请求网址:

URL

  • (3)、请求头

用来说明服务器要使用的附加信息,请求头部由关键字、值对组成。

重要的信息,如下:

①、User-Agent:产生请求的浏览器类型,爬虫时添加此信息可伪装成浏览器;不加很容易被是识别出来。

②、referer:防盗链,页面跳转处,表明产生请求的网页来自于哪个URL,告诉服务器我是从哪个链接过来的

③、Host:请求的主机名,允许多个域名同处一个IP 地址,即虚拟主机;

④、Cookie:存储于客户端扩展字段,向同一域名的服务端发送属于该域的cookie

⑤、Accept:客户端可识别的响应内容类型列表;星号 “ * ” 用于按范围将类型分组,用 “ / ” 指示可接受全部类型,用“ type/* ”指示可接受 type 类型的所有子类型;

-(4)、请求体

一般承载的内容为post请求的表单数据,对于get请求,请求体为空。

响应:

由服务器返回给客户端,可以分为三个部分:

-(1)、响应状态码

服务器的响应状态,由三个数字组成,第一个数字表示为响应类型,常有五大类:

①、1XX: 表示服务器已接收了客户端请求,客户端可继续发送请求;

②、2XX:表示服务器已成功接收到请求并进行处理;

③、3xx:表示服务器要求客户端重定向;

④、4xx:表示客户端的请求有非法内容;

⑤、5xx:表示服务器未能正常处理客户端的请求而出现意外错误;

常见的有:200:客户端请求成功;404:资源不存在,403:拒绝提供服务。

-(2)、响应头

包含了服务器对请求的应答信息。如:Content-Type,Server,Set-Cookei等

-(3)、响应体

包含响应的正文数据,如:源代码,html代码,Json数据等。是我们需要得到的信息。

客户端和服务器的创建连接和断开连接:

  • (1)、创建连接:(三次握手)

①、第一次:客户端向服务器发送:能收到吗

②、第二次:服务器向客户端发送:能,你能收到吗

③、第三次:客户端向服务器发送:ok,能。及创建成功。

  • (2)、断开连接:(四次挥手)

①、第一次:客户端向服务器发送:我要断开连接了

②、第二次:服务器向客户端发送:知道了

③、第三次:服务器向客户端发送:再来消息就断了

④、第四次:客户端向服务器发送:OK,断了吧。及断开连接成功。