selenium获取⽹页状态码与状态码解释[代码][Python]代码 1 2 3 4 5 6 7 8 9 10#coding=utf-8
import requests
def getStatusCode(url):
r = (url, allow_redirects = False) return r.status_code
print getStatusCode('www.oschina/')
HTTP状态码,它是⽤以表⽰⽹页服务器HTTP响应状态的3位数字代码。状态码的第⼀个数字代表了响应的五种状态之⼀。 1XX系列:指定客户端应相应的某些动作,代表请求已被接受,需要继续处理。由于 HTTP/1.0 协议中没有定义任何 1xx 状态码,所以除⾮在某些试验条件下,服务器禁⽌向此类客户端发送 1xx 响应。 2XX系列:代表请求已成功被服务器接收、理解、并接受。这系列中最常见的有200、201状态码。
200状态码:表⽰请求已成功,请求所希望的响应头或数据体将随此响应返回
201状态码:表⽰请求成功并且服务器创建了新的资源,且其 URI 已经随Location 头信息返回。假如需要的资源⽆法及时建⽴的话,应当返回 '202 Accepted'
202状态码:服务器已接受请求,但尚未处理
3XX系列:代表需要客户端采取进⼀步的操作才能完成请求,这些状态码⽤来重定向,后续的请求地址(重定向⽬标)在本次响应的Location 域中指明。这系列中最常见的有301、302状态码。
301状态码:被请求的资源已永久移动到新位置。服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会⾃动将请求者转到新位置。
302状态码:请求的资源临时从不同的URI响应请求,但请求者应继续使⽤原有位置来进⾏以后的请求
4XX系列:表⽰请求错误。代表了客户端看起来可能发⽣了错误,妨碍了服务器的处理。常见有:401、404状态码。
401状态码:请求要求⾝份验证。对于需要登录的⽹页,服务器可能返回此响应。
403状态码:服务器已经理解请求,但是拒绝执⾏它。与401响应不同的是,⾝份验证并不能提供任何帮助,⽽且这个请求也不应该被重复提交。
404状态码:请求失败,请求所希望得到的资源未被在服务器上发现。没有信息能够告诉⽤户这个状况到底是暂时的还是永久的。假如服务器知道情况的话,应当使⽤410状态码来告知旧资源因为某些内部的配置机制问题,已经永久的不可⽤,⽽且没有任何可以跳转的地址。404这个状态码被⼴泛应⽤于当服务器不想揭⽰到底为何请求被拒绝或者没有其他适合的响应可⽤的情况下。
5xx系列:代表了服务器在处理请求的过程中有错误或者异常状态发⽣,也有可能是服务器意识到以当前的软硬件资源⽆法完成对请求的处理。常见有500、503状态码。
500状态码:服务器遇到了⼀个未曾预料的状况,导致了它⽆法完成对请求的处理。⼀般来说,这个问题都会在服务器的程序码出错时出现。
503状态码:由于临时的服务器维护或者过载,服务器当前⽆法处理请求。通常,这个是暂时状态,⼀段时间会恢复
了解基本SEO状态码,是SEO优化⼈员必备知识。HTTP状态码是服务器和客户端之间交流信息的语⾔。通过查看⽹站⽇志的HTTP 码,我们可以清楚查看搜索引擎在⽹站的爬取情况。