本文目录

  • 概念
  • 异常处理的特征
  • 处理异常的原因
  • 对异常的处理方法

概念

异常指的是在程序运行过程中发生的异常事件,通常是由外部问题(如硬件错误、输入错误)所导致的。

异常处理的特征

1,追踪信息
2,类型
3,内容

处理异常的原因

1,提高程序的稳定性,即便程序运行时报错,也不终止程序,比如爬取数据的时候,要爬取500页的内容,我们当然不希望在爬取第200页的时候因为页面缺少了什么信息而导致整个爬虫过程重新来过,简单来说,就是爬虫中常用的防错机制

2,另一种需求就是将出错信息记录到日志内,便于程序的调整

对异常的处理方法

对于语法上的错误
比如SyntaxError,在程序运行前检查发现并改正即可

对于逻辑上的错误
错误发生的情况是可以预知的,那么就用if解决

for letter in 'python':if letter == 'h':continue#注意,这里跳过了字符hprint(letter,end=',')

效果

错误发生的情况无法预知的时候,那么就用try-except解决
用法一

try:#可能抛出异常的代码代码模块1代码模块2代码模块3
except 异常类型1 as e:pass
except 异常类型2 as e:pass

使用范例

datalst = []
for u in urllst[:10]:#建立防错机制try:datalst.append(get_data(u))print('数据采集成功,总共采集%i条数据' % len(datalst))except:errorlst.append(u)print('数据采集失败,数据网址为:',u)

用法二

try:print('测试test测试test')l=['aaaAAAAAAAAAAAAAAAAAAAAbbbb']#抛出异常IndexError,该行代码同级别的后续代码不会运行print('5555555555555555555555')XXCCQprint('5555555555555555555555')dic={'A':8}dic['A']
except IndexError as e:print('异常信息: ',e)
except NameError as e:print('异常信息: ',e)

效果

用法三

try:print('异常范例测试A')l = ['码农', '大码农']l[3] # 抛出异常IndexError,该行代码同级别的后续代码不会运行print('异常范例测试B')xxxprint('异常范例测试C')dic = {'超级码农': 1}dic['超级超级码农']except Exception as e:  # 相对于方法二而言,对异常做了个整合print('可以匹配所有异常')

效果

用法四

#else不能单独与try配套使用,必须搭配excepttry:print('异常范例测试A')print('异常范例测试B')print('异常范例测试C')
except Exception as e:  # 整合异常print('可以匹配所有异常')
else:print('===='*20)

效果

爬虫相关,python异常值的处理/防错机制的建立相关推荐

  1. 爬虫相关python+selenium在已经打开的浏览器上操作

    cmd运行 chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\selenum\AutomationProfile&quo ...

  2. python流行的爬虫框架_Python爬虫相关框架

    Python爬虫相关框架,Python的爬虫框架就是一些爬虫项目的半成品.比如我们可以将一些常见爬虫功能的实现代码写好,然后留下一些接口,在做不同的爬虫项目时,我们只需要根据实际情况,只需要写少量需要 ...

  3. python爬虫运行正常最后报错_Python爬虫运行正常,最后却报错

    问题: Python爬虫运行正常,最后却报错 描述: 刚学Python,不明白,特来请教. 程序是爬取贴吧某个地址的图片,运行正常,图片也都下载下来了. 代码如下:import urllib.requ ...

  4. 【实用工具系列之爬虫】python实现爬取代理IP(防 ‘反爬虫’)

    系列 [实用工具系列之爬虫]python实现爬取代理IP(防 '反爬虫') [实用工具系列之爬虫]python实现快速爬取财经资讯(防 '反爬虫') 本文使用python实现代理IP的爬取,并可以防' ...

  5. python 静态网页_Python静态网页爬虫相关知识

    想要开发一个简单的Python爬虫案例,并在Python3以上的环境下运行,那么需要掌握哪些知识才能完成一个简单的Python爬虫呢? 爬虫的架构实现 爬虫包括调度器,管理器,解析器,下载器和输出器. ...

  6. 精通python网络爬虫-精通Python网络爬虫:核心技术、框架与项目实战 PDF

    给大家带来的一篇关于Python爬虫相关的电子书资源,介绍了关于Python.Python网络爬虫.Python核心技术.Python框架.Python项目实战方面的内容,本书是由机械工业出版社出版, ...

  7. 超级简单的Python爬虫教程,python爬虫菜鸟教程官网

    毫无基础的人如何入门 Python ? Python是一种计算机程序设计语言.你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编 ...

  8. 一起学爬虫(Python) — 18 一生之敌查帕斯

    一起学爬虫(Python) - 19 年轻人,进来学自动化 前言 想了想,有个事情小泽得跟大家报备下,估计很多人也猜到了,是的,我准备当一个鸽子 去学校找一个人,其实前几天我妹刚跟我说这事的时候,我也 ...

  9. python最简单的爬虫代码,python小实例一简单爬虫

    python新手求助 关于爬虫的简单例子 #coding=utf-8from bs4 import BeautifulSoupwith open('', 'r') as file: fcontent ...

最新文章

  1. go 链路追踪_【go-micro实践】jaeger分布式链路追踪
  2. 英朗gt仪表盘图标说明_BuildRun低代码开发教程八节 | 图表和仪表盘展示
  3. Hadoop基础-Hdfs各个组件的运行原理介绍
  4. js 弹出层的点击事件影响到底层的点击事件_聊一聊 Node.js 错误处理
  5. requestAnimationFrame 方法你真的用对了吗?
  6. 对应sql建表_图解SQL面试题:如何查找工资前三高的员工
  7. 具有Ubuntu和Azure Data Studio的Linux上SQL Server 2019
  8. 颜值控必备!一看就会的动态图表,让枯燥的图表变得生动起来!
  9. [转]Linux启动界面切换:图形界面-字符界面
  10. ARM和MIPS架构
  11. Android 圆角布局 shape.xml的使用
  12. 介绍 PostgreSql 两个有用的比较操作
  13. 鼎铛有耳 智能硬件供应链新一代“网红”诞生 ——第三届HCFT智能硬件供应链大会品牌盛会颁奖典礼在深成功举办...
  14. 西恩科技更新招股书:IPO前大手笔分红“套现”, 赵志安为实控人
  15. Open Inventor 10.9.3 for Java Crack
  16. 浅拷贝和深拷贝(谈谈java中的clone)
  17. 梦幻西游热门服务器卡顿延迟,梦幻西游:周末活动卡顿的最总原因,是人真的多还是服务器问题?...
  18. Ubuntu 18.04 更换最优软件更新源
  19. 站长工具大全,站长工具哪个好用,站长在线工具
  20. python----列表操作

热门文章

  1. vscode配置c/c++环境windows常见问题
  2. 查询选修课程2门以上且成绩都在80分以上的学生(MSSQL)
  3. linux下普通用户和超级用户的切换
  4. 安装Visual Assist X for Visual Studio 2019 社区版一个从失败到成功的经历
  5. 自由开发者怎么生存_如何作为自由开发者生存
  6. Python判断文件是否存在
  7. htc one s 进入bootloadert和recovery方式
  8. 导轨中间继电器JDZY-1202/DC110V
  9. xbox 0x_Xbox Series X之路
  10. 关于Socket类型中SOCK_STREAM和SOCK_DGRAM区别