URLerror

URLerror产生原因:

(1)无网络连接

(2)连接不到特定的服务器

(3)服务器不存在

eg:

import urllib2

request=urllib2.Request(‘http://www.xxx.com‘)

try:

  urllib2.urlopen(request)

except urllib2.URLError,e:

  print e.reason

HTTPError是URLError的子类

常见HTTP错误:

100:继续  客户端应当继续发送请求。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。

101: 转换协议  在发送完这个响应最后的空行后,服务器将会切换到在Upgrade 消息头中定义的那些协议。只有在切换新的协议更有好处的时候才应该采取类似措施。

102:继续处理   由WebDAV(RFC 2518)扩展的状态码,代表处理将被继续执行。

200:请求成功      处理方式:获得响应的内容,进行处理

201:请求完成,结果是创建了新资源。新创建资源的URI可在响应的实体中得到    处理方式:爬虫中不会遇到

202:请求被接受,但处理尚未完成    处理方式:阻塞等待

204:服务器端已经实现了请求,但是没有返回新的信 息。如果客户是用户代理,则无须为此更新自身的文档视图。    处理方式:丢弃

300:该状态码不被HTTP/1.0的应用程序直接使用, 只是作为3XX类型回应的默认解释。存在多个可用的被请求资源。    处理方式:若程序中能够处理,则进行进一步处理,如果程序中不能处理,则丢弃
301:请求到的资源都会分配一个永久的URL,这样就可以在将来通过该URL来访问此资源    处理方式:重定向到分配的URL

302:请求到的资源在一个不同的URL处临时保存     处理方式:重定向到临时的URL

304:请求的资源未更新     处理方式:丢弃

400:非法请求     处理方式:丢弃

401:未授权     处理方式:丢弃

403:禁止     处理方式:丢弃

404:没有找到     处理方式:丢弃

500:服务器内部错误  服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。一般来说,这个问题都会在服务器端的源代码出现错误时出现。

501:服务器无法识别  服务器不支持当前请求所需要的某个功能。当服务器无法识别请求的方法,并且无法支持其对任何资源的请求。

502:错误网关  作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。

503:服务出错   由于临时的服务器维护或者过载,服务器当前无法处理请求。这个状况是临时的,并且将在一段时间以后恢复。

3开头的代号可以被处理,并且100-299范围的号码指示成功,所以你只能看到400-599的错误号码。

eg:

import urllib2

req = urllib2.Request(‘http://blog.csdn.net/cqcre‘)
try:
urllib2.urlopen(req)
except urllib2.HTTPError, e:
print e.code
print e.reason

其中,e.code可以得到错误码

HTTPError是URLError的子类,父类的异常应当写到子类异常的后面,如果子类捕获不到,则可以捕获父类的异常:

import urllib2

req = urllib2.Request(‘http://blog.csdn.net/cqcre‘)
try:
  urllib2.urlopen(req)
except urllib2.HTTPError, e:
  print e.code
except urllib2.URLError, e:
  print e.reason
else:
  print "OK"

如果捕获到了HTTPError,则输出code,不会再处理URLError异常。如果发生的不是HTTPError,则会去捕获URLError异常,输出错误原因。

hasattr属性提前对属性进行判断,首先对异常的属性进行判断,以免出现属性输出报错的现象。

import urllib2

req = urllib2.Request(‘http://blog.csdn.net/cqcre‘)
try:
  urllib2.urlopen(req)
except urllib2.URLError, e:
  if hasattr(e,"reason"):
    print e.reason
else:
  print "OK"

时间: 2024-10-03 01:33:13

URLerror的相关文章

Python爬虫入门五之URLError异常处理

大家好,本节在这里主要说的是URLError还有HTTPError,以及对它们的一些处理. 1.URLError 首先解释下URLError可能产生的原因: 网络无连接,即本机无法上网 连接不到特定的服务器 服务器不存在 在代码中,我们需要用try-except语句来包围并捕获相应的异常.下面是一个例子,先感受下它的风骚 import urllib2 requset = urllib2.Request('http://www.xxxxx.com') try: urllib2.urlopen(re

python异常处理URLError,HTTPError,Wrapping,

们在使用爬虫来抓取网页内容的时候,HTTP异常是必须要注意的一项,所以本文,我们来详细探寻一下HTTP异常处理的相关内容,通过一些具体的实例来分析一下,非常的简单,但是却很实用. 先来说一说HTTP的异常处理问题. 当urlopen不能够处理一个response时,产生urlError. 不过通常的Python APIs异常如ValueError,TypeError等也会同时产生. HTTPError是urlError的子类,通常在特定HTTP URLs中产生. 1.URLError 通常,UR

urllib2.URLError: <urlopen error [Errno 10061] >

今天来运行以前的python脚本,结果报这个错:urllib2.URLError: <urlopen error [Errno 10061] > 原来是因为 解决方法:打开IE浏览器,依次选择 工具——Internet选项——连接——局域网设置,取消代理服务器复选框 坑中之最

玩转python爬虫之URLError异常处理

这篇文章主要介绍了python爬虫的URLError异常处理,详细探寻一下URL\HTTP异常处理的相关内容,通过一些具体的实例来分析一下,非常的简单,但是却很实用,感兴趣的小伙伴们可以参考一下 本节在这里主要说的是URLError还有HTTPError,以及对它们的一些处理. 1.URLError 首先解释下URLError可能产生的原因: 网络无连接,即本机无法上网 连接不到特定的服务器 服务器不存在 在代码中,我们需要用try-except语句来包围并捕获相应的异常.下面是一个例子,先感受

python运行报错:urllib2.URLError: &lt;urlopen error [Errno 10061] &gt;

Traceback (most recent call last): File "F:\adt-bundle-windows-x86_64-20140702\eclipse\workspace1\XueChe\src\xueche2\0\xueche.py", line 19, in <module> driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps) File "buil

芝麻HTTP:Python爬虫入门之URLError异常处理

1.URLError 首先解释下URLError可能产生的原因: 网络无连接,即本机无法上网 连接不到特定的服务器 服务器不存在 在代码中,我们需要用try-except语句来包围并捕获相应的异常.下面是一个例子,先感受下它的风骚 import urllib2 requset = urllib2.Request('http://www.xxxxx.com') try: urllib2.urlopen(request) except urllib2.URLError, e: print e.rea

urllib.error.URLError 解析失败

如果在使用urllib 获取网页信息的时候,出现下面错误 urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:719)> 需要加上ssl import ssl context = ssl._create_unverified_context() res=request.urlopen(url,context=context).read()

豆瓣 URLError: &lt;urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:719)&gt;

import urllib.request as urlrequest #import ssl#ssl._create_default_https_context = ssl._create_unverified_contexturl_visit='https://api.douban.com/v2/movie/subject/1764796'crawl_content=urlrequest.urlopen(url_visit).read() print(crawl_content.decode

python爬虫(七)_urllib2:urlerror和httperror

urllib2的异常错误处理 在我们用urlopen或opener.open方法发出一个请求时,如果urlopen或opener.open不能处理这个response,就产生错误. 这里主要说的是URLError和HTTPError,以及对它们的错误处理. URLError URLError产生的原因主要有: 没有网络连接 服务器链接失败 找不到指定的服务器 我们可以用try except语句来补货相应的异常.下面的例子里我们访问了一个不存在的域名. #urllib2_urlerror.py i