区分网页请求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吧。