当前位置: 首页 > news >正文

【爬虫基础】第10讲 urlerror的使用及捕获异常

URLError是Python中的一个异常类,用于处理与URL相关的错误。它是urllib.error模块中的一个类。

URLError通常在以下情况下被引发:

  1. 网络连接问题:例如无法连接到服务器、超时等。
  2. URL不正确:例如无效的URL、无法解析主机名等。
  3. 服务器错误:例如服务器返回500错误。

以下是使用URLError处理URL连接错误的示例.我们尝试打开一个不存在的URL,并使用try-except语句来捕获可能发生的URLError异常。

如果包含code属性,则说明是服务器错误。

from urllib.request import Request,urlopen
from fake_useragent import UserAgent
from urllib.error import URLErrorurl='http://127.0.0.1:81/1123/'
headers = {'User-Agent' : UserAgent().chrome
}
req = Request(url,headers=headers)
try:resp = urlopen(req)print(resp.read().decode())
except URLError as e:# print(e)if e.args:print(e.args[0].errno)else:print(e.code)
print('爬取完毕')

 代码执行结果

如果URLError包含reason属性,则说明是网络连接问题;

 代码实现:

from urllib.request import Request,urlopen
from fake_useragent import UserAgent
from urllib.error import URLErrorurl='http://127.0.0.1:5000/zendao/'
headers = {'User-Agent' : UserAgent().chrome
}
req = Request(url,headers=headers)
try:resp = urlopen(req)print(resp.read().decode())
except URLError as e:# print(e)if e.args:print(e.args[0].errno)else:print(e.code)
print('爬取完毕')

执行结果:

参考异常调试返回结果

我们通过e.args函数来检查是否存在这些属性,并打印相应的错误信息。

需要注意的是,URLErrorHTTPError的父类,HTTPError是另一个与HTTP相关的异常类,用于处理HTTP请求错误(例如404错误)。如果需要更具体的错误处理,可以使用HTTPError来捕获HTTP请求错误。

http://www.lryc.cn/news/327100.html

相关文章:

  • 绍兴越城中墙建材蒸压加气混凝土砌块使用注意事项可送塔山府山北海蕺山城南稽山迪荡灵芝东湖皋埠马山斗门鉴湖东浦孙端陶堰富盛
  • 吴渔夫:AI技术引领游戏产业革命,小团队有大作为
  • 深入探索C++对象模型(二)
  • 【javaWeb 第三篇】Vue快速入门
  • 非root用户安装git lfs(git大文件)命令记录
  • PTA 道路管制
  • 自媒体用ChatGPT批量洗稿软件V5.9环境配置/软件设置教程【汇总】
  • 【WPF应用7】 基本控件-Grid 布局的详解与示例
  • flink-connector-redis支持select查询
  • [密码学] 密码学基础
  • 上海:6月1日起取消企业复工复产白名单制
  • SpringBoot扩展篇:循环依赖源码链路
  • 服务消费微服务
  • uni-app纵向步骤条
  • 【JavaEE -- 文件操作IO有关面试题】
  • Open WebUI大模型对话平台-适配Ollama
  • [2021]Zookeeper getAcl命令未授权访问漏洞概述与解决
  • vscode添加gitee
  • 数据库底层原理
  • JVM虚拟机-实战篇
  • 上岸跨考生的备考经验,送给零基础跨考计算机的你!
  • js改变图片曝光度(高亮度)
  • 【NLP笔记】大模型prompt推理(提问)技巧
  • 【目标检测】西红柿成熟度数据集三类标签原始数据集280张
  • Java File类(文件操作类)
  • 正则表达式 vs. 字符串处理:解析优势与劣势
  • 1、goreplay流量回放
  • Transformer的前世今生 day06(Self-Attention和RNN、LSTM的区别)
  • UDP send 出现大量“Resource temporarily unavailable”
  • 怎么拆解台式电脑风扇CPU风扇的拆卸步骤-怎么挑