主要内容:GET和POST分别对爬取的网页状态的影响以及常见的网页状态码
目录
区分网页请求GET or POST
GET,请求指定的页面信息,并返回实体主体。
POST,向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据是全部被包含在请求体当中了。
get方法的特点
get是主动缓存的,它具有安全性、幂等性
post方法的特点
当然啦,对于我们爬虫来说,这些概念并不重要,重要的是:
请求不同,信息的传递方式也不同,尤其是cookies。
网页返回状态码
200
正常的网页当然是返回200啦:
非200
也有可能返回一些 不是200的状态码,注意!非200的状态也有可能可以访问,只是大部分非200的状态代表了异常,拒绝了你的访问请求。
状态码Status Code | 是否能访问 | 含义 |
200 | 可以访问 | (成功) 服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。 |
202 | 可以访问 | (已接受) 服务器已接受请求,但尚未处理。 |
203 | 可以访问 | (非授权信息) 服务器已成功处理了请求,但返回的信息可能来自另一来源。 |
300 | 无法访问 | (多种选择) 针对请求,服务器可执行多种操作。 服务器可根据请求者 (user agent) 选择一项操作,或提供操作列表供请求者选择。 |
301 | 无法访问 | (永久移动) 请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。 |
302 | 无法访问 | (临时移动) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。 |
400 | 无法访问 | (错误请求) 服务器不理解请求的语法。 |
401 | 无法访问 | (未授权) 请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。 |
403 | 无法访问 | (禁止) 服务器拒绝请求。 |
404 | 无法访问 | (未找到) 服务器找不到请求的网页。 |
406 | 无法访问 | (不接受) 无法使用请求的内容特性响应请求的网页。 |
500 | 无法访问 | (服务器内部错误) 服务器遇到错误,无法完成请求。 |
502 | 无法访问 | (错误网关) 服务器作为网关或代理,从上游服务器收到无效响应。 |
503 | 无法访问 | (服务不可用) 服务器目前无法使用(由于超载或停机维护)。 一般只是暂时状态。 |
当出现401、403这些状态的时候,就去检查你的headers或者cookies吧。
request中的headers和cookies的作用、如何设置headers或者cookies、什么时候可以不加cookies、GET或POST请求的区别请见上文:
原创不易,转载标明出处。