标签:加载 time 含义 代理 客户 python 连接 详细 ddr
## 学习爬虫务必从了解请求网页的工作流程和网页的组成原理开始,不然直接去学爬虫操作像是请求库等等,大概率会知其然而不知其所以然(个人体会)
URL(Uniform Resource Locator):统一资源定位符
下面通过百度贴吧的网址来看一下它们到底是个什么玩意儿:
https://tieba.baidu.com/index.html
这个网址其实就是所谓的URL,它的作用就是指定“资源”的访问方式。
其中包括访问协议(https)、访问路径(//tieba.baidu.com/)、资源名称(index.html)。
HTTP(Hyper Text Transfer Protocol):超文本传输协议
首先了解一下“超文本”的概念:
超文本就是利用超链接将各种不同空间的文字信息组成在一起的网状文本(百度百科定义)。它将整个Web网络连接起来。
我们在浏览器看到的网页就是超文本解析而成的,超文本在我们实际应用中体现在哪里呢?
当我们打开浏览器,从一个站点点击链接进入下一个站点,就相当于从超文本的一个空间进入另一个空间,浏览器再将其解析出来,就是我们看到的页面了。
HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer):超文本传输安全协议
通俗讲HTTPS就是HTTP的安全版,通过它传输的内容都是经过SSL加密的。
爬虫抓取的页面通常都是http或https协议的。
我们再浏览器输入一个URL,回车之后再浏览器中看到想要的页面内容。
接下来我们分析一下其具体过程:
为了更加直观的说明这个过程,利用Chrome浏览器的开发者模式下的Network监听组件做下演示,它可以显示访问当前网页时发生的所有网络请求和响应。
观察第一个网络请求,index.html
各列含义如下:
点击“index.html”可看到更详细的信息:
Remote Address:远程服务器(资源所在的服务器)的地址和端口
Referrer Policy:Referrer判别策略(没有详细了解,初入门并不常见,可以略过)
常见的请求方法有两种:
GET:百度搜索Python,链接为https://www.baidu.com/s?wd=Python,这就是一个GET请求,请求的参数(此处为wd=Python)直接包含到URL里。GET请求提交的数据最多1024kb
POST:大多在提交表单时发起,数据包含在请求体中。比如登陆表单的传输,登录时,需要输入用户名和密码,若使用GET请求,密码就会暴露在URL中。
Accept:指定客户端可接受哪些类型的信息
Accept-Language:指定客户端可接受的语言类型
Accept-Encoding:指定客户端可接受的内容编码
Host:指定请求资源的主机IP和端口号,其内容为请求URL的原始服务器或网关的位置。
Cookie(重要):网站为了辨别用户(此处断句,不然可能会绕晕了)进行会话跟踪而存储在用户本地的数据,主要功能是维持当前访问会话。当我们输入用户 名和密码登录某个网站后,本地会有一个服务器返回的Cookie,每次浏览器请求该站点的页面时(我们会发现并不用再次登录),都会在请求头中加上Cookie,服务器便可以识别该Cookie对应的会话。
User-Agent(重要):使服务器识别客户使用的操作系统及版本、浏览器及版本等信息。用Python做爬虫时,不加此信息会被识别处为爬虫。
Reffer:标识该请求从哪个页面发出。
Content-Type(重要):标识具体请求中的媒体类型信息。如text/html代表HTML文档,image/gif代表GIF图片等。
一般承载的是POST请求中的表单数据,对于GET请求,请求体为空。
此处只列举几个较为常见的状态码:
200:服务器正常响应。
403:禁止访问,服务器拒绝此请求。
404:服务器找不到请求的网页。
500:服务器内部发生错误。
Date:响应产生的时间。
Last-Modified:资源的最后修改时间
Cotent-Encoding:响应内容的编码方式。
Server:包含服务器的信息。
Content-Type:文档类型,指定返回的数据类型是什么。
Set-Cookie:设置Cookies。告诉浏览器需要将此内容放在Cookies中,下次请求携带Cookies请求。(前面对Cookie没理解的结合此处再回头看一下,应该会好理解一些)
Expires:响应的过期时间,可以使代理服务器或浏览器将加载的内容更新的缓存中。再次访问即可直接从缓存加载。
响应的正文数据都再响应体中,比如请求网页时,它的响应体就算网页的HTML代码,请求一张图片时,它的响应体就是图片的二进制数据。
我们做爬虫请求网页后,要解析的就是响应体,从而得到网页的源代码、JSON数据等,然后从中做相应内容的提取。
## 结束语:这是我的第一篇技术类博客,同时我也还在Python爬虫学习的道路上摸索,如有不足之处还请见谅,欢迎指正。
标签:加载 time 含义 代理 客户 python 连接 详细 ddr
原文地址:https://www.cnblogs.com/zigua-program/p/10786307.html