爬虫之urllib.error模块
error模块简介
我们在爬虫的时候发请求的时候难免出现错误,如访问不到服务器或者访问被禁止等等,
出错了之后urllib将错误信息封装成了一个模块对象中,这个模块就叫error模块
error的分类
分为URLError和HTTPError。
URLError是OSError的一个子类
有以下错误的时候错误信息就会被封装在URLError里:
- 无网络
- 有网络但是由于种种原因导致服务器连接失败
而如果能够连接服务器但是服务器返回了错误代码如404,403等等(400以上),那么催无信息就会被封装在HTTPError里
URLError与HttpError的区别和关系
区别:
- URLError封装的错误信息一般是由网络引起的,包括url错误
- HTTPError封装的错误信息一般是服务器返回了错误状态码
关系:
- URLError是OSERROR的子类,HTTPError是URLError的子类
使用方法
error类是在捕获错误信息的时候使用,而且一般我们也需要进行捕获,因为你很难确定访问请求一定不会出现错误
from urllib import request
from urllib import error url = 'http://baiduuuu.com' try:
res = request.Request(url)
response = request.urlopen(res) print(response.read().decode()) except error.HTTPError as he:
print(he)
# print(he.reason) except error.URLError as ue:
print(ue)
# print(ue.reason) except Exception as e:
print(e)
注意:由于HTTPError是URLError的子类,所以捕获的时候HTTPError要放在URLError的上面
爬虫之urllib.error模块的更多相关文章
- Python3网络爬虫:urllib.error异常
转载请注明作者和出处:http://blog.csdn.net/c406495762/article/details/59488464 一.urllib.error urllib.error可以接收有 ...
- 爬虫框架urllib 之(三) --- urllib模块
Mac本 需导入ssl import ssl ssl._create_default_https_context = ssl._create_unverified_context urllib.re ...
- python爬虫之urllib库(二)
python爬虫之urllib库(二) urllib库 超时设置 网页长时间无法响应的,系统会判断网页超时,无法打开网页.对于爬虫而言,我们作为网页的访问者,不能一直等着服务器给我们返回错误信息,耗费 ...
- python 爬虫之 urllib库
文章更新于:2020-03-02 注:代码来自老师授课用样例. 一.初识 urllib 库 在 python2.x 版本,urllib 与urllib2 是两个库,在 python3.x 版本,二者合 ...
- 爬虫之urllib包以及request模块和parse模块
urllib简介 简介 Python3中将python2.7的urllib和urllib2两个包合并成了一个urllib库 Python3中,urllib库包含有四个模块: urllib.reques ...
- Python爬虫之urllib模块2
Python爬虫之urllib模块2 本文来自网友投稿 作者:PG-55,一个待毕业待就业的二流大学生. 看了一下上一节的反馈,有些同学认为这个没什么意义,也有的同学觉得太简单,关于Beautiful ...
- Python爬虫之urllib模块1
Python爬虫之urllib模块1 本文来自网友投稿.作者PG,一个待毕业待就业二流大学生.玄魂工作室未对该文章内容做任何改变. 因为本人一直对推理悬疑比较感兴趣,所以这次爬取的网站也是平时看一些悬 ...
- 练手爬虫用urllib模块获取
练手爬虫用urllib模块获取 有个人看一段python2的代码有很多错误 import re import urllib def getHtml(url): page = urllib.urlope ...
- Python3网络爬虫(三):urllib.error异常
运行平台:Windows Python版本:Python3.x IDE:Sublime text3 转载请注明作者和出处:http://blog.csdn.net/c406495762/article ...
随机推荐
- JAVA之旅(十九)——ListIterator列表迭代器,List的三个子类对象,Vector的枚举,LinkedList,ArrayList和LinkedList的小练习
JAVA之旅(十九)--ListIterator列表迭代器,List的三个子类对象,Vector的枚举,LinkedList,ArrayList和LinkedList的小练习 关于数据结构,所讲的知识 ...
- Java 中Log4j的使用详情
Log4j 真的很简单,简单到令人发指的地步.不是要记录日志吗?那就给你一个Log ,然后你用Log 来写东西就行了,先来一个完整类示例: package test; import org.apach ...
- iOS中 DataBase SQL数据库 UI_高级
SQL(Structured query Lauguage) :结构化 查询 语言 1.创建表格的SQL语句 create table if not exists Teacher(tea_id int ...
- C语言之free函数及野指针
[FROM MSDN && 百科] 原型: void free(void *ptr); #include<stdlib.h>或#include <malloc.h& ...
- MinerThreadPool.java 线程池
MinerThreadPool.java 线程池 package com.iteye.injavawetrust.miner; import java.util.concurrent.Blocking ...
- Ajax核心--XMLHttpRequest对象
XMLHttpRequest 对象是AJAX功能的核心,学习XMLHttpRequest对象就先从创建XMLHttpRequest 对象开始,了解在不同的浏览器中创建XMLHttpRequest 对象 ...
- RecyclerView实现瀑布流效果(二)
在上篇中我们知道RecyclerView中默认给我们提供了三种布局管理器,分别是LinearLayoutManager.GridLayoutManager.StaggeredGridLayoutMan ...
- Mahout kmeans聚类
Mahout K-means聚类 一.Kmeans 聚类原理 K-means算法是最为经典的基于划分的聚类方法,是十大经典数据挖掘算法之一.K-means算法的基本思想是:以空间中k个点为中心进行聚 ...
- REHL5上安装salt-minion
REHL5上安装salt-minion 本文适用于rhel5.4, 6.4, 7. 仅以el5.4为例. 1 在线安装方式极为简单: # wget --no-check-certificate -O ...
- platform_driver_probe与platform_driver_register的区别
Platform Device and Drivers 从<linux/platform_device.h>我们可以了解Platform bus上面的驱动模型接口:platform_de ...