前言
爬虫是什么?
简单来说,就是在网络中从各个网站爬取网页,并解析出你要的数据信息,并进行存储。由于爬虫涉及到网页,故我们还需要了解一定的前端基础知识:
1、html、css和JavaScript
2、正则表达式
一、HTTP的概念
HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写
用于从www服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。
它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪一部分内容首先显示(如文本先于图形)等。
学过计算机网络的朋友都晓得,HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型
二、在TCP/IP协议栈中的位置
HTTP协议通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上,这个时候,就成了我们常说的HTTPS。如下图所示:
默认HTTP的端口号为80,HTTPS的端口号为443。
e.g.1:会有锁头的标志(意味着安全)
https://www.baidu.com
e.g.2:可能会提示不安全
http://nginx.org
三、HTTP的请求响应模型
HTTP协议永远都是客户端发起请求,服务器回送响应。
当我们在浏览器输入一个URL,Enter回车后便会在浏览器中看到页面内容。实际上,这个过程是浏览器向网站所在的服务器发送了一个请求,网站服务器接收到这个请求后进行处理和解析,然后返回对应的响应,接着传回给浏览器。响应里包含了页面的源代码等内容,浏览器再对其进行解析,便将网页呈现了出来。
四、有关百度的网络请求
我们先观察一个网络请求,即www.baidu.com,其中各项的含义如下:
- 第一列Name:请求的名称,一般会将URL的最后一部分内容当作名称。
- 第二列Status:响应的状态码,这里显示为200,代表响应是正常的。通过状态码,我们可以判断发送了请求之后的响应是否得到了正常的响应。
- 第三列Type:请求的文档类型。这里为xhr。
- 第四列Initiator:请求源。用来标记是哪个对象或进程发起的
- 第五列Size:从服务器下载的文件和请求的资源大小。如果是从缓存中取得的资源,则该列会显示from cache
- 第六列Time:发起请求到获取响应所用的总时间。
- 第七列Waterfall:网络请求的可视化瀑布流。
总结
以上就是今天要讲的内容,本文仅仅简单介绍了HTTP协议,我们主要简介与爬虫相关的部分主要内容:
- URL
- 请求(Importance)
- 响应
PS:最近在学习python爬虫相关的视频,为了方便自己查询和记忆,便开始在这里码文记录 ^-^
。