首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

爬虫之urllib.error模块

我们在爬虫的时候发请求的时候难免出现错误,如访问不到服务器或者访问被禁止等等, 出错了之后urllib将错误信息封装成了一个模块对象中,这个模块就叫error模块 error的分类 分为URLError和HTTPError...URLError是OSError的一个子类 有以下错误的时候错误信息就会被封装在URLError里: 无网络 有网络但是由于种种原因导致服务器连接失败 而如果能够连接服务器但是服务器返回了错误代码如404...,403等等(400以上),那么催无信息就会被封装在HTTPError里 URLError与HttpError的区别和关系 区别: URLError封装的错误信息一般是由网络引起的,包括url错误 HTTPError...封装的错误信息一般是服务器返回了错误状态码 关系: URLError是OSERROR的子类,HTTPError是URLError的子类 使用方法 error类是在捕获错误信息的时候使用,而且一般我们也需要进行捕获...是URLError的子类,所以捕获的时候HTTPError要放在URLError的上面

66600
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    urllib异常处理

    程序没有直接报错,而是输出了上面的内容,通过异常的捕获,可以避免程序的异常终止,还可以直观地看见错误信息,方面处理 2 HTTPError 它是URLError的子类,专门用来处理HTTP请求错误,比如认证请求失败等...code:返回HTTP状态码,比如404表示网页不存在,500表示服务器内部错误等。 reason:同父类一样,用于返回错误的原因。 headers:返回请求头。...注释:访问一个网站不存在的页面,捕获了HTTPError异常,输出了reason,code和headers属性 因为URLError是HTTPError的父类,所以可以先选择捕获子类的错误,再去捕获父类的错误...如果不是HTTPError异常,就会捕获URLError异常,输出错误原因。最后,用else来处理逻辑。...有时候,reason属性返回的不一定是字符串,也可能是一个对象 实例: import socket import urllib.request import urllib.error try:

    1.1K10

    Python:urllib2模块的URLError与HTTPError

    这里主要说的是URLError和HTTPError,以及对它们的错误处理。...HTTPError HTTPError是URLError的子类,我们发出一个请求时,服务器上都会对应一个response应答对象,其中它包含一个数字"响应状态码"。...如果urlopen或opener.open不能处理的,会产生一个HTTPError,对应相应的状态码,HTTP状态码表示HTTP协议所返回的响应的状态。...203 Non-authoritative Information 文档已经正常地返回,但一些应答头可能不正确,因为使用的是文档的拷贝。 204 No Content 没有新文档。...401.1 登录失败。 401.2 服务器配置导致登录失败。 401.3 由于 ACL 对资源的限制而未获得授权。 401.4 筛选器授权失败。 401.5 ISAPI/CGI 应用程序授权失败。

    2.4K10

    Python-数据挖掘-网络异常

    一、超时设置 假设有个请求,要爬取1000个网站,如果其中有100个网站需要等待30s才能返回数据,如果要返回所有的数据,至少需要等待3000s。...可以为 HTTP 请求设置超时时间,一旦超过这个时间,服务器还没有返回响应内容,就会抛出一个超时异常,这个异常需要使用 try 语句来捕获。 例如,使用一个 IP,它的响应速度需要2秒。...① URLError 异常和捕获 URLError 产生的原因主要有以下几种: 没有连接网络; 服务器连接失败; 找不到指定的服务器; 可以使用 try...except 语句捕获相应的异常。...② HttpError 异常和捕获 每个服务器的 HTTP 响应都有一个数字响应码,这些响应码有些表示无法处理请求内容。如果无法处理,urlopen() 会抛出 HTTPError。...HTTPError 是 URLError 的子类,它的对象拥有一个整型的 code 属性,表示服务器返回的错误代码。

    82740

    python爬虫(七)_urllib2:urlerror和httperror

    这里主要说的是URLError和HTTPError,以及对它们的错误处理。...HTTPError HTTPError是URLError的子类,我们发出一个请求时,服务器都会对应一个response应答对象,其中它包含一个数字"响应状态码" 如果urlopen或opener.open...不能处理,会发出一个HTTPError,对应相应的状态码,HTTP状态码表示HTTP协议所返回的响应的状态。...203 Non-authoritative Information 文档已经正常地返回,但一些应答头可能不正确,因为使用的是文档的拷贝。 204 No Content 没有新文档。...401.1 登录失败。 401.2 服务器配置导致登录失败。 401.3 由于 ACL 对资源的限制而未获得授权。 401.4 筛选器授权失败。 401.5 ISAPI/CGI 应用程序授权失败。

    2.3K80

    【Kotlin】函数 ② ( Unit 函数 | TODO 函数抛出异常返回 Nothing 类型 | 反引号函数名 )

    文章目录 一、Unit 函数 二、TODO 函数抛出异常返回 Nothing 类型 三、反引号函数名 一、Unit 函数 ---- Java 语言 中 没有返回值的函数 其 返回类型 是 void ;...Kotlin 语言 中 没有返回值的函数 其返回类型是 Unit , 该函数又称为 Unit 函数 ; Kotlin 语言中 推出 Unit 类型概念 , 是为了 兼容 泛型 概念 , 如果 函数没有返回值..., TODO 函数 唯一的作用 就是 抛出异常 , 该函数 执行永远失败 , 并且 返回 Nothing 类型 ; TODO 函数原型如下 : /** * 总是抛出[NotImplementedError...*/ @kotlin.internal.InlineOnly public inline fun TODO(reason: String): Nothing = throw NotImplementedError...implemented: $reason") 代码示例 : fun main() { TODO("TODO 抛出异常") } 执行结果 : Exception in thread "main" kotlin.NotImplementedError

    91020

    Python爬虫之urllib库—爬虫的第一步

    然后我们通过HTTP协议对服务器发出GET或POST请求,若请求成功,我们就得到了我们想看到的网页,一般都是用HTML, CSS, JS等前端技术来构建的,若请求不成功,服务器会返回给我们请求失败的状态码...: geturl():返回URL,用于看是否有重定向。...200,失败可能是503等,可以用来检查代理IP的可使用性。...HTTPError也是HTTP有效回应的实例,因为HTTP协议错误是有效的回应,包括状态码,headers和body。所以看到在HTTPError初始化的时候定义了这些有效回应的参数。...以上代码使用了try..exception的结构,实现了简单的网页爬取,当有异常时,如URLError发生时,就会返回reason,或者HTTPError发生错误时就会返回code。

    708100

    Python爬虫之urllib库—爬虫的第一步

    然后我们通过HTTP协议对服务器发出GET或POST请求,若请求成功,我们就得到了我们想看到的网页,一般都是用HTML, CSS, JS等前端技术来构建的,若请求不成功,服务器会返回给我们请求失败的状态码...: geturl(): 返回URL,用于看是否有重定向。...成功是200,失败可能是503等,可以用来检查代理IP的可使用性。...HTTPError也是HTTP有效回应的实例,因为HTTP协议错误是有效的回应,包括状态码,headers和body。所以看到在HTTPError初始化的时候定义了这些有效回应的参数。...以上代码使用了try..exception的结构,实现了简单的网页爬取,当有异常时,如URLError发生时,就会返回reason,或者HTTPError发生错误时就会返回code。

    64210

    SAP ETL开发规范「建议收藏」

    有些情况下可以接受更多命令,例如,如果其中一个查询表只返回少量行,但通常多个SQL命令将意味着数据服务需要在内存连接中执行,这可能会导致内存问题。...3.6 Try/Catch 通常应该在作业开始时和作业结束时使用try-catch对象。try catch的结尾可用于记录失败的审计表,通知某人失败或提供其他所需的自定义功能。...这样可以捕获并记录错误,同时数据服务管理员作业仍会标记为红灯以指示失败。...3.7 While Loops While 循环主要用于需要加载一系列平面文件、STA层循环抽取(设置数据抽取超时机制)和xml文件的作业,并在其上执行一些附加功能,例如将它们移动到备份目录并更新控制表以指示加载成功和失败...支持框架所需的数据库模式在以下四种主要方式使用: 1) 参数化作业并将参数值存储在作业和应用程序层外部的数据库结构中 2) 记录SAP Data Services应用程序框架内的作业执行情况,记录模式内的成功执行或失败

    2.2K10

    Python Requests 库中的重试策略实践

    网络请求由于各种原因可能会失败,例如网络波动、服务暂时不可达等。为了增强客户端的健壮性,实现请求的自动重试是一个常见的做法。在Python中,requests库是处理HTTP请求的标准工具之一。...重试的必要性在分布式系统中,服务间的通信可能会由于各种原因失败。而自动重试机制能够提高系统的可靠性和容错能力。合理的重试策略可以减少暂时性故障导致的请求失败。2....示例:请求一个可能返回错误的服务以下是一个完整的示例,包括错误处理。..., adapter) try: response = session.get(url) response.raise_for_status() # 如果请求返回的是...4XX, 5XX响应码,将引发HTTPError异常 return response except requests.exceptions.HTTPError as e:

    12010

    Apache Flink 1.6 Documentation: Jobs and Scheduling

    注意Flink经常同时执行多个连续的任务:对数据流程序来说都会这样,但是对于批处理程序来只是频繁发生。 下面的图说明了这个情况。...对完成的任务或执行失败作出反应。...JobManager接收到JobGraph, JobGraph由包含操作的数据流(JobVertex) 和中间结果(IntermediateDataSet)来描述表示。...万一失败了,作业就会转为失败中状态并且会撤销所有运行的任务。如果作业定点到了最后的状态并且作业不能重启,那么作业转为已经失败状态。如果作业可以重启,那么作业会进入重启中状态。...不像已经完成状态,已经取消和已经失败状态表示的是全局最终状态,并且会粗发清理作业任务,已经挂起状态是只在本地终端的。

    64720

    Flink吐血总结,学习与面试收藏这一篇就够了!!!

    把事件按照时间顺序排列起来,就形成了一个事件流,也叫作数据流。「无界数据」是持续产生的数据,所以必须持续地处理无界数据流。...「有界数据」,就是在一个确定的时间范围内的数据流,有开始有结束,一旦确定了就不会再改变。...一次性申请需要所有的资源,如果资源不足,则作业启动失败。) Lazy_From_Sources分阶段调度(适用于批处理。...结构 作业调度失败 失败异常分类 NonRecoverableError:不可恢复的错误。...此类错误意味着即便是重启也无法恢复作业到正常状态,一旦发生此类错误,则作业执行失败,直接退出作业执行 PartitionDataMissingError:分区数据不可访问错误。

    88520
    领券