爬虫基础

HTTP基本原理

URI:Uniform Resource Identifiter,统一资源标志符

URL:Universal Resource Locator,统一资源定位符

URL是URI的子集。

HTTP:Hyper Text Transfer Protocol,超文本传输协议

HTTPS:Hyper Text Transfer Protocol over Secure Socket Layer ,HTTP下加入SSL层

1532613077196

Name:请求的名称, 一般会将URL的最后一部分内容当做名称。

Status:响应的状态码。

Type:请求的文档类型。

Initiator:请求源,用来标记请求是由哪个对象或进程发起的。

Size:从服务器下载的文件和请求的资源大小。如果是从缓存中取得的资源,则该列表会显示from cache。

Time:发起请求到获取响应所用的总时间。

Waterfall:网络请求的可视化瀑布流。

请求

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

    请求的网址,即统一资源定位符URL

  2. 请求头(Request Headers)

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

    Accept:请求报头域,用于指定客户端可接受哪些类型的信息;
    
    Accept-Language:指定客户端可接受的语言类型;
    
    Accep-Encoding:指定客户端可接受的内容编码;
    
    Host:用于指定请求资源的主机IP和端口号,其内容为请求URL的原始服务器或网关的位置。从HTTP 1.1版本开始,请求必须包含此内容。
    
    Cookie:或Cookies,网站为了辨别用户进行会话跟踪而存错在用户本地的数据。功能为维持当前访问会话。
    
    Referer:标识这个请求是从哪个页面发过来的。
    
    User-Agent:使服务器识别客户使用的操作系统及版本、浏览器及版本等信息。
    
    Content-Type:也叫互联网媒体类型(Internet Media Type)或者MIME类型,在HTTP协议消息头中,用来表示具体请求中的媒体类型信息。如:text/html代表HTML格式,image/gif代表GIF图片, application/json代表JSON类型。
    
  3. 请求体(Request Body)

    请求体一般承载的内容是POST请求中的表单数据,而对于GET请求,请求体则为空。

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

响应

  1. 响应状态码(Response Status Code)

    服务器的响应状态,如200为服务器正常响应,404为页面未找到,500为服务器内部发生错误等

  2. 响应头(Response Headers)

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

    Date:标识响应产生的时间。

    Last-Modified:指定资源的最后修改时间。

    Content-Encoding:指定响应内容的编码。

    Server:包含服务器的信息,比如名称、版本号等。

    Content-Type:文档类型,指定返回的数据类型。

    Set-Cookie:设置Cookies。

    Expires:指定响应的过期时间。

  3. 响应体(Response Body)

1532616593666

在浏览器开发者工具中点击Response,查看网页源代码,也就是响应体的内容。

网页基础

网页可以分为三大部分——HTML、CSS和JavaScript。

在HTML中,只需要用link标签即可引入写好的CSS文件。

JavaScript在HTML中通过script标签引入。

一个网页的标准形式是html标签内嵌套head和body标签,head内定义网页配置和引用,body内定义网页正文。


本文内容为《Python3网络爬虫开发实战》 的学习笔记。

Byron Wong wechat
欢迎您使用微信扫一扫,订阅微信公众号 (* ̄︶ ̄)