我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python爬虫urllib中的异常模块如何处理

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python爬虫urllib中的异常模块如何处理

这篇文章主要介绍“python爬虫urllib中的异常模块如何处理”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“python爬虫urllib中的异常模块如何处理”文章能帮助大家解决问题。

    urllib中的异常处理

    在我们写爬虫程序时,若出现url中的错误,那么我们就无法爬取我们想要的内容,对此,我们引入了urllib中的异常处理。

    url的组成部分

    URL由6个部分组成:eg:

    https://www.baidu.com/s?wd=易烊千玺

    • 协议(http/https)

    • 主机(www.baidu.com)

    • 端口号(80/443)

    • 路径(s)

    • 参数(wd=易烊千玺)

    • 锚点

    常见的端口号:

    http(80) https(443) mysql(3306) oracle(1521) redis(6379) mongodb(27017)

    URLError

    通常来说,URLError报错通常为url地址中主机部分的错误:

    实例:

    url = 'https://www.baidu.com1/'

    运行结果:

    urllib.error.URLError: <urlopen error [Errno 11001] getaddrinfo failed

    HTTPError

    这个异常的通常是url地址中参数或是路径的错误。

    实例:

    url = 'https://www.jianshu.com/p/3388cf148dba1'

    运行结果:

    urllib.error.HTTPError: HTTP Error 404: Not Found

    简介

    • HTTPError类是URLError类的子类

    • 导入的包urllib.error.HTTPError/urllib.error.URLError

    • http错误:http错误是针对浏览器无法连接到服务器而增加的出来的错误提示,引导并告诉浏览者该页是出了什么问题。

    • 通过urllib发送请求的时候,有可能会发送失败,这个时候如果想让你的代码更健壮,可以通过try -except进行捕获异常。

    Urllib.error 模块

    urllib.error 模块为 urllib.request 所引发的异常定义了异常类,基础异常类是 URLError。

    urllib.error 包含了两个方法,URLError 和 HTTPError。

    URLError 是 OSError 的一个子类,用于处理程序在遇到问题时会引发此异常(或其派生的异常)。

    HTTPError 是 URLError 的一个子类,用于处理特殊 HTTP 错误例如作为认证请求的时候,包含的属性 code 为 HTTP 的状态码, reason 为引发异常的原因,headers 为导致 HTTPError 的特定 HTTP 请求的 HTTP 响应头。

    异常处理

    用try except语句块捕获并处理异常,其基本语法结构如下所示:

    try:可能产生异常的代码块

    except [ (Error1, Error2, &hellip; ) [as e] ]:处理异常的代码块1

    except [ (Error3, Error4, &hellip; ) [as e] ]:处理异常的代码块2

    except [Exception]:处理其它异常

    实例:

    原url= &lsquo;https://www.jianshu.com/p/3388cf148dba&rsquo;

    源码:

    import urllib.requestimport urllib.errorurl = 'https://www.jianshu.com1/p/3388cf148dba'# url的组成 eg:https://www.baidu.com/s?wd=易烊千玺# 1.协议(http/https) 2.主机(www.baidu.com) 3.端口号(80/443) 4.路径(s) 5.参数(wd=易烊千玺) 6.锚点#  常见的端口号# http(80) https(443) mysql(3306) oracle(1521) redis(6379) mongodb(27017)headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36'}try:    request = urllib.request.Request(url = url,headers = headers)    response = urllib.request.urlopen(request)    content = response.read().decode('utf8')    print(content)except urllib.error.HTTPError:    print('HTTP异常,请稍后!')except urllib.error.URLError:    print('URL异常,请稍后!')

    URLError

    url = &lsquo;https://www.jianshu.com1/p/3388cf148dba&rsquo;

    运行结果:

    python爬虫urllib中的异常模块如何处理

    HTTPError

    url = &lsquo;https://www.jianshu.com/p/3388cf148dba111&rsquo;

    运行结果:

    python爬虫urllib中的异常模块如何处理

    关于“python爬虫urllib中的异常模块如何处理”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网行业资讯频道,小编每天都会为大家更新不同的知识点。

    免责声明:

    ① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

    ② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

    python爬虫urllib中的异常模块如何处理

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档

    猜你喜欢

    python爬虫urllib中的异常模块如何处理

    这篇文章主要介绍“python爬虫urllib中的异常模块如何处理”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“python爬虫urllib中的异常模块如何处理”文章能帮助大家解决问题。urllib
    2023-06-30

    Python中urllib爬虫、request模块和parse模块的示例分析

    小编给大家分享一下Python中urllib爬虫、request模块和parse模块的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!urlliburlli
    2023-06-14

    python爬虫urllib库中parse模块urlparse的使用方法

    这篇文章主要介绍了python爬虫urllib库中parse模块urlparse的使用方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在python爬虫urllib库中,u
    2023-06-14

    如何在Python中处理网络爬虫的问题

    如何在Python中处理网络爬虫的问题网络爬虫是获取互联网上信息的重要方式,而Python作为一种简单易用且功能强大的编程语言,被广泛用于网络爬虫开发。本文将介绍如何在Python中处理网络爬虫的问题,并提供具体的代码示例。一、网络爬虫的基
    2023-10-22

    C++ 技术中的异常处理:如何使用 try-catch 块来处理异常?

    c++++ 中 try-catch 块用于处理超乎程序预期的异常事件,防止程序错误或崩溃。其语法为:try {...} catch (const exception& e) {...},其中 try 块中为可能抛出异常的代码,catch 块
    C++ 技术中的异常处理:如何使用 try-catch 块来处理异常?
    2024-05-09

    如何在Python中处理异常处理的问题

    如何在Python中处理异常处理的问题异常是程序中的错误,当程序出现异常时,可以使用异常处理机制来捕获和处理这些异常,以保证程序的正常运行。Python提供了丰富而强大的异常处理机制,可以通过try-except语句来捕获并处理异常。下面将
    2023-10-22

    解析Node.js异常处理中domain模块的使用方法

    NodeJS 提供了 domain 模块,可以简化异步代码的异常处理。在介绍该模块之前,我们需要首先理解“域”的概念。简单的讲,一个域就是一个 JS 运行环境,在一个运行环境中,如果一个异常没有被捕获,将作为一个全局异常被抛出。NodeJS
    2022-06-04

    如何在Python中处理异常情况

    如何在Python中处理异常情况,需要具体代码示例异常处理是编程中非常重要的一部分。当程序执行过程中遇到错误或异常情况时,如果没有相应的处理机制,程序很可能会崩溃或产生不可预测的结果。Python提供了一套强大的异常处理机制,使得我们可以优
    2023-10-22

    C++ 函数异常处理中的 try/catch 块如何工作?

    在 c++++ 中,try 块包含可能引发异常的代码,catch 块用于处理特定类型的异常。try/catch 块允许程序优雅地恢复或继续执行,防止出现意外终止。在异常发生时,控制权将传递到具有匹配类型限定符的 catch 块,例如 try
    C++ 函数异常处理中的 try/catch 块如何工作?
    2024-04-15

    如何使用Python中的异常处理机制

    如何使用Python中的异常处理机制异常处理是编程中非常重要的一部分,它可以帮助我们在程序出现错误时优雅地处理这些错误,防止程序崩溃并提供相应的错误信息。Python提供了强大的异常处理机制,本文将介绍如何在Python中使用异常处理。tr
    2023-10-22

    如何理解Python常用模块中常用内置函数

    如何理解Python常用模块中常用内置函数,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Python作为计算机语言中常用的语言,它具有十分强大的功能,但是你知道
    2023-06-17

    C++ 技术中的异常处理:如何优化异常处理的性能?

    为了优化 c++++ 中的异常处理性能,可以实现以下四项技术:避免不必要的异常抛出。使用轻量级异常类。优先考虑效率,设计只包含必要信息的异常类。利用编译器选项实现最佳性能和稳定性平衡。C++ 技术中的异常处理:优化异常处理性能异常处理对于
    C++ 技术中的异常处理:如何优化异常处理的性能?
    2024-05-09

    C++ 函数异常处理中的异常类如何定义?

    c++++ 中定义异常类:需从 std::exception 派生新类,重写 what 虚函数提供异常消息;如例所示,myexception 类重写 what 返回异常消息。实战案例中,divide 函数抛出 std::runtime_er
    C++ 函数异常处理中的异常类如何定义?
    2024-04-16

    Java中的InstantiationException异常该如何处理

    在Java中,InstantiationException异常通常会在使用反射创建实例时抛出,当无法创建一个类的实例时会抛出该异常。以下是处理InstantiationException异常的一些建议:1. 检查是否使用了无参构造方法:In
    2023-08-24

    jstorm中bolt是如何处理异常的

    jstorm中bolt是如何处理异常的?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。BasicBoltExecutor源码: public void execute(Tupl
    2023-05-31

    编程热搜

    • Python 学习之路 - Python
      一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
      Python 学习之路 - Python
    • chatgpt的中文全称是什么
      chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
      chatgpt的中文全称是什么
    • C/C++中extern函数使用详解
    • C/C++可变参数的使用
      可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
      C/C++可变参数的使用
    • css样式文件该放在哪里
    • php中数组下标必须是连续的吗
    • Python 3 教程
      Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
      Python 3 教程
    • Python pip包管理
      一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
      Python pip包管理
    • ubuntu如何重新编译内核
    • 改善Java代码之慎用java动态编译

    目录