1.URL:
统一资源定位符,即常见的网页链接,爬虫中常用对象;
eg:https://www.jianshu.com/
2.超文本:
网页是由超文本解析而成的,网页源代码HTML就称作超文本;
3.HTTP和HTTPS:
联系:两者皆为超文本传输协议,旨在启用客户端和服务器之间的通信,充当客户端和服务器之间的请求-响应协议。
区别:HTTPS多加入了SSL层,对传输的内容进行加密,现阶段所有网页都逐渐统一HTTPS化;
4.HTTP请求过程:
在浏览器输入一个URL,回车,显示页面内容;
可以理解为:浏览器向网站所在服务器发送一个请求,服务器收到这个请求后进行处理和解析,然后返回对应的响应,接着传回给浏览器,响应包含了页面的源代码等,最后浏览器再对其进行解析,呈现;
5.请求:
客户端向服务端发出,分为四部分:请求方法(Request Method)、请求的网址(Request URL)、请求头(Request Headers)、请求体(Request Body):
(1)请求方法:主要包括Get、Post,另外还有Head、Put、Delete等:
Get请求(请求提交的数据不超过1024字节):在浏览器中直接输入URL并回车,eg:https://www.baidu.com/s?wd=米开朗基罗,URL包含了请求的参数信息;
Post请求(提交内容无限制):大多在表单提交时发起,例如登录某一网站时,输入账户信息并回车,就会产生一个Post请求;
(2)请求头(Request Headers):用来说明服务器要使用的附加信息,比较重要的信息包括:Cookie、Referer、User-Agent等;
Accept:用于指定客户端可接受那些类型的信息;(-language 语言类型,-encoding 内容编码);
Host:用于指定请求资源的主机IP和端口号;
Cookie:也常用复数形式Cookies;主要作用就是根据用户的登录信息,维持当前访问会话;我们有时打开常用的页面,如https://www.jianshu.com/,不需要输入账号信息就可以自动登录,这就是Cookie的功劳;Cookie信息存储在本地客户端,每当浏览器在请求该站点的页面时,都会在请求头中加入Cookie并将其发送给服务器,服务器根据Cookie内容识别出是我们,并且查出当前状态是登录状态,所以返回结果就是登录之后才能看到的网页内容;
Referer:表示这个请求是从哪个页面发送过来的,便于服务器做来源统计等;
User-Agent:简称‘UA’,使服务器识别客户使用的操作系统及版本,浏览器及版本等;在爬虫中添加此信息,可以伪装为浏览器;
Content-Type:互联网媒体类型或者MIME类型,用来表示具体请求中的媒体类型信息;
(3)请求体:一般承载Post请求中的表单数据,对于Get一般为空;在Request Headers的Content-Type中,参数可分为以下几种情况:
application/x-www-form-urlencoded:以表单数据的形式提交;application/json:提交json数据;
multipart/form-data:上传文件;
text/xml:上传XML数据;
6.响应:
由服务器返回给客户端,主要包括响应状态码(Response Status Code)、响应头(Response Headers)、响应体(Response Body):
(1)状态响应码:常用的包括:200-正常响应,404-页面未找到,500-服务器内部发生错误,503-服务器目前无法使用;
(2)响应头Response Headers(简单了解)
Response Headers示例图
(3)响应体:
eg:请求网页——响应体是HTML代码;请求图片——响应体是图片的二进制数据;做爬虫请求网页后,要解析的内容就是响应体。
————内容参考 崔庆才 《python3网络爬虫开发实战》————