在网页爬取的时候,有时候需要判断下要爬取网页的网页HTTP状态码,然后再进行相关的工作。
1.网页HTTP状态码
HTTP状态码表示HTTP协议所返回的响应状态。具体参考:http://baike.baidu.com/view/1790469.htm?fr=aladdin
HTTP状态码有5种,所有状态码的第一个数字代表了响应的5种状态之一:(1)消息:1XX;(2)成功:2XX;(3)重定向:3XX;(4)请求错误:4XX;(5)服务器错误:5XX.
我目前常用的就两种:
(1)200:请求成功,请求所希望的响应头或者数据体随此响应返回。
(2)404:Not Found,请求失败,表示请求的资源未被在服务器上发现。整个状态可能是暂时的,也可能是永久的。所以,要做好该状态下的处理。
2.Python获取HTTP状态码
根据查找的资料,目前常用的有3中方法获取HTTP状态码。
(1)requests库
#coding=utf-8
import requests
def get_status(url):
r = requests.get(url, allow_redirects = False)
return r.status_code
def main():
status=get_status('http://www.baidu.com/')
if status==200:
print "Success"