爬虫-截获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判断其状态码,进行下一步的处理。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/30/2ee13a13518bb04ae29c78cfdfe08a47)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/30/b42d7c7c0e149565f5eccf137c7c4c35)
2)利用urllib2爬取网站截获状态码:如图所示,若请求不成功,则会出现错误程序停止运行,通过try..except..捕获错误进行处理,
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/30/e2c9da9d1a71ce8afde325b03dfc236b)
通过e.code可得到HTTPError的状态码
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的状态码
相关文章推荐
- 【学习日记】java网络编程知识点总结
- <meta http-equiv="pragma" content="no-cache"/>-备
- PHP判断ajax请求:HTTP_X_REQUESTED_WITH
- VMware PXE Linux 网络启动搭建
- FTP vs HTTP
- 轻松把玩HttpClient之模拟post请求示例
- android的httppost方法访问本地web服务(二)
- 安卓中关于图片从网络获取,压缩,上传,下载,缩略图,缓存的一些处理总结(三)
- 斯坦福大学机器学习第九课“神经网络的学习(Neural Networks: Learning)”
- 斯坦福大学机器学习第八课“神经网络的表示(Neural Networks: Representation)”
- android的httppost方法访问本地web服务(一)
- Linux<十三> 网络管理
- 用Wireshark简单分析HTTPS传输过程-抓包过程
- 理解LSTM网络
- 理解SSL(https)中的对称加密与非对称加密
- 安卓中关于图片从网络获取,压缩,上传,下载,缩略图,缓存的一些处理总结(二)
- PHP判断ajax请求:HTTP_X_REQUESTED_WITH
- xdubbo: 将 spring 管理的 bean 暴露为 http 服务
- 解决iOS9网络请求失败问题
- 在提交svn的遇到如下错误----Eclipse Error validating server certificate for https://devserver02:443: - U Myecl