网络爬虫是一种高效的信息采集利器,利用她可以快速、准确地采集我们想要的各种数据资源,在这个充满各种信息的时代,大数据深刻地改变着我们的工
作和生活,而数据的获取很大程度上依赖于爬虫的爬取。
在开始系统地学习网络爬虫之前,我们需要对网络基础有一定的了解,如服务器请求的收发原理、HTTP原理、爬虫的基本原理等,在本章中我们就对这些基础知识做一个简单的总结。
URL概念
URL是Uniform Resource Locator的简称,翻译过来就是“统一资源定位符”,在访问网络资源时,我们可以用它来唯一指定它的访问方式,简单来说URL其实是一个链接,不过这样的说法其实并不严谨。
URL的组成格式为:
协议名://资源名
其中“协议名”为获取资源所用的传输协议,包括http、https、ftp等,关于传输协议我们将会在下节讲到;“资源名”则是资源完整的地址,包括主机名、端口号、文件名等。举例来说,https://www.baidu.com是百度的网站链接,https是远程服务器与用户主机之间数据交换的传输协议,www.baidu.com则是资源所在地址。
HTTP/HTTPS协议
在爬虫中,我们抓取的页面通常是http或https协议的,但是我们偶尔也会看到ftp、sftp等为开头的URL,它们都是协议类型,这里我们先了解一下常用的两个协议的含义。
1. HTTP协议
HTTP是Hyper Text Transfer Protocol的缩写,即超文本传输协议,HTTP协议是用于从网络传输超文本数据到本地浏览器的传送协议,它能保证高效而准确地传输超文本文档。
HTTP/1.1一共定义了8种请求方法:OPTIONS、HEAD、GET、POST、PUT、DELETE、TRACE、和CONNECT。但在HTTP访问中,一般使用GET和POST,关于以上请求方式,后面会有详细的介绍
2. HTTPS协议
HTTPS全称是Hyper Text Transfer Protocol over Secure Socket Layer,即超文本传输安全协议,是以安全为目标的HTTP通道,用以提供加密通信及对网络服务器身份的鉴定,是HTTP的安全版,在HTTP下加入SSL层,因此通过它传输的内容都是经过SSL加密的,现在越来越多的网站和APP都已经向HTTPS的方向发展。
HTTP请求
1. TCP/IP协议
在HTTP工作开始之前,用户主机需要与web服务器建立连接,这种连接是通过TCP/IP协议完成的,所以在学习HTTP请求过程之前,需要先了解TCP/IP协议。
TCP/IP协议是由TCP和IP两个协议共同构成的,IP(Internet Protocol)协议是低级的路由协议,它将数据包拆分在许多个小数据包中,并通过网络将它们发送到某