1. 爬虫基础

2018-08-02  本文已影响0人  柄志

爬虫基础

HTTP基本原理

URI和URL

超文本

网络协议类型:HTTP和HTTPS

HTTPS的安全基础是SSL,主要作用为建立一个信息安全通道保证数据传输的安全和确认网站的真实性

HTTP请求过程

  1. 向浏览器输入URL
  2. 浏览器向服务器发送请求
  3. 服务器对请求进行处理和解析,返回对应的响应
  4. 浏览器对服务器返回的响应进行解析,呈现页面

请求

请求由客户端向服务端发出,分为请求方法(Requests Method)、请求地址(Requests URL)、请求头(Requests Head)和请求体(Requests Body)。

请求方法

方法 描述
GET 请求页面,并返回页面内容
HEAD 类似于GET请求,区别在于其返回的响应中没有具体内容,用于获取报头
POST 大多用于提交表单或上传文件,数据包含在请求体中
PUT 从客户端向服务器传送的数据取代指定文档中的内容
DELETE 请求服务器删除指定的页面
CONNECT 把服务器当作跳板,让服务器代替客户端访问其他网页
OPTIONS 允许客户端查看服务器的性能
TRACE 回显服务器收到的请求,主要用于测试或诊断

请求地址

请求头

请求头,用于说明服务器要使用的附加信息

请求体

Content-Type POST提交数据的方式
application/x-www-form-urlencoded 表单数据
multipart/form-data 表单文件上传
application/json 序列化JSON数据
text/xml XML数据

响应

响应由服务端返回给客户端,分为响应状态码(Response Status Code)、响应头(Response Headers)和响应体(Response Body)。

响应状态码

响应状态码表示服务器的响应状态

状态码 说明 详情
100 继续 请求者应当继续提出请求。服务器已收到请求的一部分,正在等待其余部分
101 切换协议 请求者已要求服务器切换协议,服务器已确认并准备切换
200 成功 服务器已成功处理了请求
201 已创建 请求成功并且服务器创建了新的资源
202 已接受 服务器已接受请求,但尚未处理
203 非授权信息 服务器已成功处理了请求,但返回的信息可能来自另一个源
204 无内容 服务器成功处理了请求,但未返回任何内容
205 重置内容 服务器成功处理了请求,内容被重置
206 部分内容 服务器成功处理了部分请求
300 多种选择 针对请求,服务器可进行多种操作
301 永久移动 请求的网址已永久移动到新位置,即永久重定向
302 临时移动 请求的网页暂时跳转到其他页面,即暂时重定向
303 查看其他位置 如果原来的请求是POST,重定向目标文档应该通过GET提取
304 未修改 此次请求返回的网页未修改,继续使用上次的资源
305 使用代理 请求者应该使用代理访问该网页
307 临时重定向 请求的资源临时从其他位置相应
400 错误请求 服务器无法解析该请求
401 未授权 请求没有进行身份验证或身份验证未通过
403 禁止访问 服务器拒绝此请求
404 未找到 服务器找不到请求网页
405 方法禁用 服务器禁用了请求中指定的方法
406 不接受 无法使用请求的内容响应请求的网页
407 需要代理授权 请求者需要使用代理授权
408 请求超时 服务器请求超时
409 冲突 服务器在完成请求时发生冲突
410 已删除 请求的资源已永久删除
411 需要有效长度 服务器不接受不含有效内容长度标头字段的请求
412 未满足前提条件 服务器未满足请求者在请求中设置的其中一个前提条件
413 请求实体过大 请求实体过大,超出服务器的处理能力
414 请求URL过长 请求网址过长,服务器无法处理
415 不支持类型 请求格式不被请求页面支持
416 请求范围不符 页面无法提供请求的范围
417 未满足期望值 服务器未满足期望请求标头字段的要求
500 服务器内部错误 服务器遇到错误,无法完成请求
501 未实现 服务器不具备完成请求的功能
502 错误网关 服务器作为网关或代理,从上游服务器收到无效响应
503 服务不可用 服务器目前无法使用
504 网关超时 服务器作为网关或代理,没有及时从上游服务器收到请求
505 HTTP版本不支持 服务器不支持请求中所用的HTTP协议版本

响应头

响应头包含了服务器对请求的应答信息

响应体

响应的正文数据在响应体中

网页基础

网页的组成

网页可分为三大部分:HTML、CSS和JavaScript,HTML定义网页的内容结构、CSS描述网页的布局、JavaScript定义了网页的行为

HTML

CSS

JavaScript

网页的结构

节点树

在HTML中,所有标签定义的内容都是节点,它们构成了一个HTML DOM树

W3C DOM标准被分为3个不同的部分

  1. 核心DOM:针对任何结构化文档的标准模型
  2. XML DOM:针对XML文档的标准模型
  3. HTML DOM:针对HTML文档的标准模型

根据W3C的HTML DOM标准,HTML文档中的所有内容都是节点

HTML DOM将HTML文档视为树结构,这种结构被称为节点树

选择器

CSS选择器用于定位节点

爬虫的基本原理

爬虫就是获取网页提取保存信息的自动化程序

会话和Cookies

Cookies的属性结构

代理的基本原理

代理服务器(proxy server)的功能是代理网络用户去取得网络信息。

代理的作用

上一篇 下一篇

猜你喜欢

热点阅读