Python爬虫入门四
来源:互联网 发布:arm体系结构与编程 pdf 编辑:程序博客网 时间:2024/04/30 02:29
详解HTTPError
我们在写爬虫去请求服务器的时候可能会遇到各种各样的错误,在HTTP协议中常用的客户端错误码如下
- 400 坏请求(Bad Request)
- 401未授权(Unauthorized)
- 402必须的支付(Payment Required)
- 403禁用(Forbidden)
- 404没有找到(Not Found)
- 406 不可接受的 (Not Acceptable)
- 407 需要代理验证(Proxy Authentication Required)
- 408 请求超时(Request Timeout)
- 409 冲突 (Confilict)
- 410 不存在(gone)
- 411 长度必需 (Length Required)
- 412 先决条件失败 (Precondition Failed)
- 413 请求实体太大
- 414 请求 URI 太长(Request-URI Too Long
- 415 不被支持的媒体类型(Unsupported Media Type)
- 416 请求范围不满足 (Requested Range Not Satisfiable)
- 417 期望失败(Expectation Failed)
-
上面就是一些HTTP客户端的错误码,那么如何知道是发生了那个错误呢用python的try..except..就可以代码如下
import urllib2req = urllib2.Request('http://cs.scu.edu.cn/~duanlei')try: urllib2.urlopen(req)except urllib2.HTTPError, e: print e.code print e.reason
运行后结果是 404 Not Found 。 e还有一个read()方法即可以打印错误页面,如下所示
<?xml version="1.0" encoding="iso-8859-1"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>404 - Not Found</title> </head> <body> <h1>404 - Not Found</h1> </body></html>
HTTPError在urllib2中是这么定义的class HTTPError(URLError, addinfourl):因此我们可以看出HTTPError是继承自URLError的。
详解URLError
URLError是一种IOError
通常引起URLError的原因是:无网络连接(没有到目标服务器的路由)、访问的目标服务器不存在。在这种情况下,异常对象会有reason属性(是一个(错误码、错误原因)的元组)
可以通过下面代码来打印URLError异常
import urllib2url="http://www.baidu.com/"try: response=urllib2.urlopen(url)except urllib2.URLError,e: print e.reason
就是把上面的HTTPError改成了URLError
处理URLError的方式就是在代码中捕捉它们然后做响应的处理
1 0
- Python爬虫入门四
- python[四]:python爬虫入门
- Python爬虫 | Python爬虫入门
- Python爬虫入门四之Urllib库的高级用法
- Python爬虫入门四之Urllib库的高级用法
- Python爬虫入门四之Cookie的使用
- Python爬虫入门(四)PhatomJS+Selenium第一篇
- Python爬虫入门四之Urllib库的高级用法
- Python爬虫入门之Urllib库的高级用法 (四)
- Python爬虫入门四之Urllib库的高级用法
- python爬虫(四)
- python爬虫入门简单爬虫
- Python爬虫入门
- Python爬虫入门
- Python爬虫入门基础
- 如何入门 Python 爬虫?
- python 爬虫入门
- 如何入门 Python 爬虫?
- 树
- SQLServer2008R2一些安装问题的解决
- 学习Hadoop第十三课(Hadoop学习必备技能之远程debug)
- ffmpeg RTSP流拉取
- 迭代快速幂模板
- Python爬虫入门四
- HTML/CSS基础知识总结一:元素分类
- Add Strings
- HTML5 web worker应用
- 从尾到头打印链表
- uva 12169 exgcd+构造
- 【设计模式 java】——解释器模式(Interpreter)
- java的键盘录入
- 透过数据结构看C++的引用&