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

如何使用try-except语句处理Python中的异常

00917-4113027411-_modelshoot style,a girl on the computer, (extremely detailed CG unity 8k wallpaper), full shot body photo of the most beautiful.png
在python爬虫行业里面,异常处理能力已经成为了一项非常重要的技能。随着软件规模的不断扩大和复杂性的增加,异常处理能力已经成为了评判一个示波器水平的重要指标。 ,学会使用try-except语句来捕获和处理Python异常,对于我们做爬虫的来说是非常有必要的。
try- except语句是一种常用的异常处理机制。由于网络环境的不稳定性和网站的变化,爬虫程序经常会遇到各种问题异常情况,例如网络连接超时、页面解析错误、请求被拒绝等。为了保证爬虫的稳定性和可靠性,我们可以使用try- except语句来捕获和处理这些异常。
比如在最近的开发日志中,我遇到了一个令人头疼的问题。那就是访问12306购票的问题。我需要访问一个网站来获取火车票的信息,但是遇到访问异常的情况,比如超时、HTTP错误、代理错误等等。这让我非常困惑,因为我希望我的代码能够优雅地处理这些异常,而不是让程序崩溃。
为了解决这个问题,我决定使用try-except语句来捕获和处理这些异常情况。通过合理地设置代理信息,为了并使用try- except语句来处理可能出现的异常。
try-except语句的基本结构如下:

try:# 可能会出现异常的代码块...
except ExceptionType:# 处理异常的代码块...

下面是一个示例代码,演示了如何使用try- except语句来捕获和处理Python异常:

import requests# 设置代理信息
proxyHost = "www.16yun.cn"
proxyPort = "5445"
proxyUser = "16QMSOML"
proxyPass = "280651"# 设置访问链接
url = "https://www.12306.cn/"try:# 使用代理访问12306网站proxies = {"http": f"http://{proxyUser}:{proxyPass}@{proxyHost}:{proxyPort}","https": f"https://{proxyUser}:{proxyPass}@{proxyHost}:{proxyPort}"}response = requests.get(url, proxies=proxies, timeout=5)response.raise_for_status()  # 检查响应状态码print("恭喜你,成功访问到12306网站!")
except requests.exceptions.Timeout:print("哎呀,访问超时了,请稍后再试。")
except requests.exceptions.HTTPError:print("糟糕,遇到了HTTP错误,请检查你的网络连接。")
except requests.exceptions.ProxyError:print("天啊,代理出了问题,请检查你的代理设置。")
except requests.exceptions.RequestException:print("糟糕透顶,发生了其他异常,请检查你的网络连接。")

在实际开发中,我们还可以根据具体的需求,进一步完善异常处理逻辑。例如,可以设置重试机制,当请求失败时自动重新尝试;或者记录异常信息到日志文件,以便后续分析和排查问题。
总结起来,使用Python爬虫访问12306购票网站时,try-except语句是我们一个重要的异常处理机制。通过合理地使用try- except语句,可以捕获和处理各种可能的异常情况,提高爬虫程序的稳定性和可靠性。同时,我们还可以根据具体的异常类型来执行不同的处理逻辑,以应对不同的异常情况。

相关文章:

如何使用try-except语句处理Python中的异常

在python爬虫行业里面,异常处理能力已经成为了一项非常重要的技能。随着软件规模的不断扩大和复杂性的增加,异常处理能力已经成为了评判一个示波器水平的重要指标。 ,学会使用try-except语句来捕获和处理Python异常,对于我们做爬虫…...

学Python的漫画漫步进阶 -- 第十一步.常用的内置模块

学Python的漫画漫步进阶 -- 第十一步.常用的内置模块 十一、常用的内置模块11.1 数学计算模块——math11.2 日期时间模块——datetime11.2.1 datetime类11.2.2 date类11.2.3 time类11.2.4 计算时间跨度类——timedelta11.2.5 将日期时间与字符串相互转换 11.3 正则表达式模块—…...

发现无尽的创意可能性——Photo Image Editor Pixelstyle for Mac

无论您是一名专业摄影师还是一个爱好者,您都需要一款强大而多功能的图像编辑软件来实现您的创意。Photo Image Editor Pixelstyle for Mac将成为您的创作利器,帮助您探索图像编辑的无限可能性。 Photo Image Editor Pixelstyle for Mac是一款专业级的图…...

Smart Community(1)之设计规范

通过前面大数据开发相关知识的学习,准备做一个项目进行练习---我给他起了一个响亮的名字:基于HadoopHA的智慧社区服务平台 设计规范: 做一个项目之前肯定要先规定一些开发过程中的设计规范 (一)数据埋点规范&#xf…...

爬虫工作者必备:使用爬虫IP轻松获得最强辅助

目录 一、爬虫IP的作用与优势 二、选择合适的爬虫IP服务商 三、使用爬虫IP的注意事项和技巧 代码示例 四、合法合规使用爬虫IP 总结 随着互联网的发展,数据已经成为企业竞争的核心资源。而获取这些数据的有效方式,就是通过爬虫技术。但是&#xff…...

工作比读研简单多了

工作比读研简单多了,因为至少有人能解答 工作遇到的问题相比读研时遇到的问题幸福太多,简单太多。因为读研时遇到的更多是未知的问题,是科学问题,是论文中也没有答案的问题,问不着答案,搜不着结果&#xf…...

【音视频】H264视频压缩格式

H264简介 H.264从1999年开始,到2003年形成草案,最后在2007年定稿有待核实。在ITU的标准里称为H.264, 在MPEG的标准里是MPEG-4的一个组成部分-MPEG-4 Part 10,又叫Advanced Video Codec,因此常常称为MPEG-4AVC或直接叫AVC。 压缩算…...

Windows【工具 04】WinSW官网使用说明及实例分享(将exe和jar注册成服务)实现服务器重启后的服务自动重启

官方Github;官方下载地址。没有Git加速的话很难下载,分享一下发布日期为2023.01.29的当前最新稳定版v2.12.0网盘连接。 包含文件: WinSW-x64.exesample-minimal.xmlsample-allOptions.xml 链接:https://pan.baidu.com/s/1sN3hL5H…...

【C++面向对象侯捷】3.构造函数

文章目录 class 的声明inline(内联)函数access level(访问级别)构造函数构造函数可以有多个- 重载! class 的声明 inline(内联)函数 access level(访问级别) 构造函数 构…...

GE WESDAC D20ME 模拟输入电子模块

GE WESDAC D20ME 是一款模拟输入电子模块,通常用于工业自动化和控制系统中,用于采集模拟信号和传感器数据。以下是该模块的一些主要产品功能: 模拟输入通道:WESDAC D20ME 模块通常具有多个模拟输入通道,用于接收模拟信…...

GE WES5302-150 数字量控制模块

GE WES5302-150 是一款数字量控制模块,通常用于工业自动化和控制系统中,主要用于数字信号的输入和输出控制。以下是该模块的一些主要产品功能: 数字量输入:WES5302-150 模块通常具有多个数字输入通道,用于接收数字信号…...

Redis-渐进式遍历scan的使用

目录 1、为什么使用渐进式遍历? 2、scan的使用 3、渐进式遍历的缺点 4、补充知识点:redis中也区分database 1、为什么使用渐进式遍历? 前面的博客中,我们有提到使用keys *来获取所有的key,但这种办法,…...

数据结构——查找

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、查找的基本概念二、顺序查找&&折半查找顺序查找顺序表的查找折半查找折半查找算法例题总结前言 查找的基本概念 顺序查找 折半查找 一、查找的基本概念 1.基本概念 查找:指定某…...

设计模式六大原则

设计模式6大原则 1. 单一职责原则 单一职责原则定义:一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中。另外一种定义:就一个类而言,应该仅有一个引起它变化的原因自己理解: 也就一个类只能是一个物体的抽象&…...

Docker 安装

Docker 官网:Docker: Accelerated Container Application Development Docker Hub官网:https://hub.docker.com/ 前提说明 CentOS Docker 安装 前提条件 目前,CentOS 仅发行版本中的内核支持 Docker。Docker 运行在CentOS 7 (64-bit)上&…...

国外发达国家码农是真混得好么?

来看看花旗工作十多年的码农怎么说吧! 美国最大的论坛 Reddit,之前有一个热帖: 一个程序员说自己喝醉了,软件工程师已经当了10年,心里有 好多话想说,“我可能会后悔今天说了这些话。”他洋洋洒洒写了 一大堆&#xff…...

构造函数不能做为虚函数

引用:windows程序员面试指南 构造函数不能做为虚函数 从存储空间角度 虚函数对应一个虚函数表,这大家都知道,可是这个虚函数表其实是存储在对象的内存空间的。问题出来了,如果构造函数是虚的,就需要通过虚函数表来调…...

持续集成实战 —— Jenkins自动化测试环境搭建

1.目的 在日常的项目测试过程中,搭建与维护测试环境是广大测试同学的一个基础技能,相信也很少会有公司完全不让测试去碰自己的测试环境。那么工作中大量的创建、部署、管理、维护等一系列的重复操作就成为了整个测试项目中一个巨大的工作量。 面对这样…...

ajax上传文件

背景 采用ajax传递表单内容和上传的文件 实现原理 使用FormData模拟表单数据,实现异步上传图片 代码 var formData new FormData(); formData.append("serviceId", param.serviceId); formData.append("keyId", param.keyId); formData.a…...

使用jib-maven-plugin插件构建镜像并推送至私服Harbor

jib-maven-plugin 插件配置 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apa…...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站&#xff0c;会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后&#xff0c;网站没有变化的情况。 不熟悉siteground主机的新手&#xff0c;遇到这个问题&#xff0c;就很抓狂&#xff0c;明明是哪都没操作错误&#x…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销&#xff0c;平衡网络负载&#xff0c;延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括&#xff1a;采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中&#xff0c;设置任务排序规则尤其重要&#xff0c;因为它让看板视觉上直观地体…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)

🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器&#xff08;ADC&#xff09;&#xff0c;支持8kHz~96kHz采样率&#xff0c;集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器&#xff0c;适用于高保真音频采集场景。 2. 核心特性 高精度&#xff1a;24位分辨率&#xff0c…...

基于TurtleBot3在Gazebo地图实现机器人远程控制

1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...

mac 安装homebrew (nvm 及git)

mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用&#xff1a; 方法一&#xff1a;使用 Homebrew 安装 Git&#xff08;推荐&#xff09; 步骤如下&#xff1a;打开终端&#xff08;Terminal.app&#xff09; 1.安装 Homebrew…...

Spring AOP代理对象生成原理

代理对象生成的关键类是【AnnotationAwareAspectJAutoProxyCreator】&#xff0c;这个类继承了【BeanPostProcessor】是一个后置处理器 在bean对象生命周期中初始化时执行【org.springframework.beans.factory.config.BeanPostProcessor#postProcessAfterInitialization】方法时…...