学习爬虫过程中遇到了状态码相关信息,查阅资料后记录一下,主要内容摘取自博客
假设response是requests请求得到的对象,通过
response.status_code
可以查看此次相应的状态码,这里记录一下常见的状态码:
状态码 |
意义
|
---|---|
200 | "OK" 请求成功 |
301 | "Moved Permanently" 请求的资源被转移 |
400 | "BAD Request" 实体中的文档是一个错误消息 |
404 | "Not Found" 请求的资源不存在,服务器不知道客户端请求的是哪个资源 |
409 | "Conflict" 当客户端试图执行一个“会导致一个或多个资源处于不一致状态“的操作时返回此状态码 |
410 | "Gone" 请求的资源不存在,服务器知道请求的资源曾经存在,但现在不存在了 |
500 | "Internal Selver Error" 服务器内部错误 |
状态码系列
1XX:通知
1xx系列码仅在与HTTP服务器沟通时使用
2XX:成功
2XX系列代码表示操作成功了
3XX:重定向
3XX系列响应代码表明:客户端需要做些额外工作才能得到所需要的资源。它们通常用于GET请求。他们通常告诉客户端需要向另一个URI发送GET请求,才能得到所需的表示。那个URI就包含在Location响应报头里。
4XX 客户端错误
这些响应代码表明客户端出现错误。不是认证信息有问题,就是表示格式或HTTP库本身有问题。客户端需要自行改正。
5XX 服务端错误
这些响应代码表明服务器端出现错误。一般来说,这些代码意味着服务器处于不能执行客户端请求的状态,此时客户端应稍后重试。有时,服务器能够估计客户端应在多久之后重试。并把该信息放在Retry-After响应报头里。
5XX系列响应代码在数量上不如4XX系列多,这不是因为服务器错误的几率小,而是因为没有必要如此详细–对于服务器方面的问题,客户端是无能为力的。