原文:http://blog.csdn.net/haipengdai/article/details/48526507
http状态码描述:1)http://justcoding.iteye.com/blog/833058
2)http://tool.oschina.net/commons?type=5
3)http://www.tuicool.com/articles/z6NNV3B
因为默认的处理器处理了重定向(300以外号码),并且100-299范围的号码指示成功,所以你只能看到400-599的错误号码。Scrapy默认的设置是过滤掉有问题的HTTP response(即response状态码不在200-300之间)。因此403的情况会被忽略掉,意思就是我们不是处理这个url 请求的response,直接就忽略,也就是及时我们用response.status == 403判断没有作用,因为只有status处于200-300的请求才会被处理。故:
1)利用scrapy爬虫截获状态码:可在爬虫模块的爬虫类中加上handle_httpstatus_list = [‘xx’],数组中填需要截获的状态码,如要截取403和503.则handle_httpstatus_list = [403, 503],在parse方法中通过response.status判断其状态码,进行下一步的处理。