您的位置:首页 > 理论基础 > 计算机网络

爬虫-截获http错误码(Python)

2015-11-16 14:18 513 查看
原文: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判断其状态码,进行下一步的处理。





2)利用urllib2爬取网站截获状态码:如图所示,若请求不成功,则会出现错误程序停止运行,通过try..except..捕获错误进行处理,


通过e.code可得到HTTPError的状态码
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: