前言前言一个爬虫的成功与否,在于你是否拿到了想要的数据;一个请求的成功与否,在于响应的状态码,它标明了当前请求下这个响应的结果,是好还是坏。上节课程学习了HTTPS和HTTP协议的各自优势,本节课程进入到请求的响应部分,学习下如何根据响应状态码,判断当前响应是好还是坏。0.状态码的重要意义状态码的重要意义互联网是个超级复杂的超大型项目,没网络的情况下,我们的电脑访问不了网络;有网络的前提下,网站正常工作我们才能访问。单个的请求响应流程是非常简单的,如下图:为了应对复杂多变的网络情况,http协议在设计之初就准备好了响应状态码,来标识本次请求响应的状态。HTTP状态码(英语:HTTPStatusCode)是用以表示网页服务器超文本传输协议响应状态的3位数字代码。它由RFC2616规范定义的,并在后续的HTTP新版本的规范中扩展。所有状态码的第一个数字代表了响应的五种状态之一。状态码分为五大类,分别是:100系列:消息【除非在某些试验条件下,服务器禁止向此类客户端发送1xx响应】200系列:成功300系列:跳转400系列:失败500系列:错误虽说是5类,但是100系列,是不允许使用的,所以常见的是4类。下面详细介绍一下这4类中,常见的状态码数值和所表达的意思。1.成功的成功的200系列系列200是浏览器的日常使用中最常见的,因为网站要正常工作,200是必须的,不然工程师要挨骂的。1.200OK:这个是最常见的,也是爬虫工程师最喜欢的,代表你本次的请求顺利拿到了响应,没有任何问题。2.201Created:201代表创建成功,通常是指浏览器或爬虫给服务器上传数据,服务器接收并验证数据没问题之后,服务器返回客户端一个201,代表成功。提交数据,提交数据,通常是通常是POST方法提交方法提交3.202Accepted:服务器拿到了数据,但是还没处理好结果,所以先发回一个202。这个状态码一般在爬虫中看不到,但是适合在异步操作的情况下返回。2.跳转的跳转的300系列系列通常为了更方便的操作,服务器会告诉客户端进一步的优化操作,例如张三搬家了,旧服务器给你新地址让你找新服务器等;1.301MovedPermanently:当前资源的网址永久性迁移,并且会给你一个新的网址。值得注意的是,如果是POST请求拿到301,则下一次请求自动变成GET。2.302MoveTemporarily:当前资源网址暂时性迁移到新地址,和301性质有点不一样。3.304NotModified:这个在浏览器加载静态资源的时候,特别容易碰到,就是浏览器使用本地缓存而不消耗带宽去加载在线的静态资源,...