常见名词
URL
:统一资源定位符URN
:统一资源名称,其只命名资源而不指定如何定位资源,即URN
可以唯一标识资源,但没有指定如何定位到资源URI
:统一资源标志符URI
=URL
+URN
,且几乎所有的URI
都是URL
HTTP
:超文本传输协议,用于从网络传输超文本到本地浏览器的传送协议,能够保证高效而准确地传送超文本文档HTTPS
:加入了SSL
层的HTTP
通道,其传输的内容都是经过SSL
加密的,其主要作用分为两种:
① 建立信息安全通道来保证数据传输的安全;
② 确认网站的真实性,凡使用了HTTPS
的网站,都能查看网站认证之后的真实信息,也可以通过CA机构颁发的安全签章来查询。
请求
请求可分为四部分:
-
请求方法(
Method
):GET
提交信息时会将信息暴露在URL
中,而一般使用POST
提交敏感信息或内容较大的数据。 -
请求的网址(
URL
) -
请求头(
Headers
):附加一些服务器需要的信息,比较重要的有:
①Accept
:指定客户端可接受哪些类型的信息;
②Accept-Language
:指定客户端可接受的语言类型;
③Accept-Encoding
:指定客户端可接受的内容编码;
④Host
:指定请求资源的主机IP与端口号;
⑤Referer
:标识这个请求是由哪个页面发送的;
⑥User-Agent
:特殊的字符串头,可以使服务器识别客户端使用的操作系统、浏览器即版本信息;在做爬虫时加上此信息,可以伪装为浏览器;
⑦Content-Type
:MIME类型,标识具体请求中的媒体类型信息 -
请求体(
Body
):承载POST
请求中中的表单数据;而对于GET
请求,请求体为空。
在爬虫中,若要构造
POST
请求,则需要正确地设置Content-Type
,并了解各种请求库的各个参数设置时使用的是那种Content-Type
,否则会导致请求提交后无法获得响应。
响应
响应可分为三部分:
-
响应状态码(
Status Code
):表示服务器的响应状态; -
响应头(
Headers
):包含服务器对请求的应答信息,常用的有:
①Date
:响应产生的时间;
②Last-Modified
:指定资源的最后修改时间;
③Server
:包含服务器的信息,如名称、版本号等;
④Content-Type
:文档类型,指定返回的数据类型是什么;
⑤Set-Cookie
:设置 Cooikes,告诉浏览器将此内容放在 Cookies中;
⑥Expires
:指定响应的过期时间,可以使代理服务去将加载的内容更新到缓存中。当再次访问时,可以直接从缓存中加载。 -
响应体(
Body
):响应的正文数据。
基本原理
爬虫就是获取网络资源并提取和保存信息的自动化程序,其可以分为:获取网页 → 提取信息 → 保存数据 → 自动化程序