爬虫相关,python异常值的处理/防错机制的建立
本文目录
- 概念
- 异常处理的特征
- 处理异常的原因
- 对异常的处理方法
概念
异常指的是在程序运行过程中发生的异常事件,通常是由外部问题(如硬件错误、输入错误)所导致的。
异常处理的特征
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异常值的处理/防错机制的建立相关推荐
- 爬虫相关python+selenium在已经打开的浏览器上操作
cmd运行 chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\selenum\AutomationProfile&quo ...
- python流行的爬虫框架_Python爬虫相关框架
Python爬虫相关框架,Python的爬虫框架就是一些爬虫项目的半成品.比如我们可以将一些常见爬虫功能的实现代码写好,然后留下一些接口,在做不同的爬虫项目时,我们只需要根据实际情况,只需要写少量需要 ...
- python爬虫运行正常最后报错_Python爬虫运行正常,最后却报错
问题: Python爬虫运行正常,最后却报错 描述: 刚学Python,不明白,特来请教. 程序是爬取贴吧某个地址的图片,运行正常,图片也都下载下来了. 代码如下:import urllib.requ ...
- 【实用工具系列之爬虫】python实现爬取代理IP(防 ‘反爬虫’)
系列 [实用工具系列之爬虫]python实现爬取代理IP(防 '反爬虫') [实用工具系列之爬虫]python实现快速爬取财经资讯(防 '反爬虫') 本文使用python实现代理IP的爬取,并可以防' ...
- python 静态网页_Python静态网页爬虫相关知识
想要开发一个简单的Python爬虫案例,并在Python3以上的环境下运行,那么需要掌握哪些知识才能完成一个简单的Python爬虫呢? 爬虫的架构实现 爬虫包括调度器,管理器,解析器,下载器和输出器. ...
- 精通python网络爬虫-精通Python网络爬虫:核心技术、框架与项目实战 PDF
给大家带来的一篇关于Python爬虫相关的电子书资源,介绍了关于Python.Python网络爬虫.Python核心技术.Python框架.Python项目实战方面的内容,本书是由机械工业出版社出版, ...
- 超级简单的Python爬虫教程,python爬虫菜鸟教程官网
毫无基础的人如何入门 Python ? Python是一种计算机程序设计语言.你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编 ...
- 一起学爬虫(Python) — 18 一生之敌查帕斯
一起学爬虫(Python) - 19 年轻人,进来学自动化 前言 想了想,有个事情小泽得跟大家报备下,估计很多人也猜到了,是的,我准备当一个鸽子 去学校找一个人,其实前几天我妹刚跟我说这事的时候,我也 ...
- python最简单的爬虫代码,python小实例一简单爬虫
python新手求助 关于爬虫的简单例子 #coding=utf-8from bs4 import BeautifulSoupwith open('', 'r') as file: fcontent ...
最新文章
- go 链路追踪_【go-micro实践】jaeger分布式链路追踪
- 英朗gt仪表盘图标说明_BuildRun低代码开发教程八节 | 图表和仪表盘展示
- Hadoop基础-Hdfs各个组件的运行原理介绍
- js 弹出层的点击事件影响到底层的点击事件_聊一聊 Node.js 错误处理
- requestAnimationFrame 方法你真的用对了吗?
- 对应sql建表_图解SQL面试题:如何查找工资前三高的员工
- 具有Ubuntu和Azure Data Studio的Linux上SQL Server 2019
- 颜值控必备!一看就会的动态图表,让枯燥的图表变得生动起来!
- [转]Linux启动界面切换:图形界面-字符界面
- ARM和MIPS架构
- Android 圆角布局 shape.xml的使用
- 介绍 PostgreSql 两个有用的比较操作
- 鼎铛有耳 智能硬件供应链新一代“网红”诞生 ——第三届HCFT智能硬件供应链大会品牌盛会颁奖典礼在深成功举办...
- 西恩科技更新招股书:IPO前大手笔分红“套现”, 赵志安为实控人
- Open Inventor 10.9.3 for Java Crack
- 浅拷贝和深拷贝(谈谈java中的clone)
- 梦幻西游热门服务器卡顿延迟,梦幻西游:周末活动卡顿的最总原因,是人真的多还是服务器问题?...
- Ubuntu 18.04 更换最优软件更新源
- 站长工具大全,站长工具哪个好用,站长在线工具
- python----列表操作
热门文章
- vscode配置c/c++环境windows常见问题
- 查询选修课程2门以上且成绩都在80分以上的学生(MSSQL)
- linux下普通用户和超级用户的切换
- 安装Visual Assist X for Visual Studio 2019 社区版一个从失败到成功的经历
- 自由开发者怎么生存_如何作为自由开发者生存
- Python判断文件是否存在
- htc one s 进入bootloadert和recovery方式
- 导轨中间继电器JDZY-1202/DC110V
- xbox 0x_Xbox Series X之路
- 关于Socket类型中SOCK_STREAM和SOCK_DGRAM区别