python3 爬虫相关学习8:python 的常见报错内容汇总(持续收集ing)

news2024/11/14 17:05:59

目录

1 低级错误(比如拼写错误等)

 1.1 NameError: 

1.2 属性错误 AttributeError:  属性拼写错误

2  应用错误(类型应用,属性使用的错误)

2.1 类型错误 TypeError:  如字符串连接错误

2.2  属性应用错误  AttributeError

3 模块相关错误

3.1 找不到对应模块 ModuleNotFoundError:

3.2 相关模块相关错误,如os的  OSError: [Errno 22] Invalid argument: 

3.3 requests模块问题:requests.exceptions.InvalidSchema无效架构

4 语法错误 SyntaxError:

4.1 函数语法错误 (缺少括号)

4.2 函数语法错误 (缺少:)

4.3 字符串连接错误  SyntaxError: unterminated string literal 未结束的字符串

 4.4  值错误/参数错误  ValueError:

5 格式错误

5.1  缩进错误 IndentationError:  

5.2 语法错误(复制代码空格导致错误):SyntaxError: invalid non-printable character U+00A0

6 非错误,警告提醒类!

6.1  BeautifulSoup(html1,"lxml") 缺少参数时的警告


1 低级错误(比如拼写错误等)

 1.1 NameError: 

  • print 打成了 priint

1.2 属性错误 AttributeError:  属性拼写错误

  • AttributeError: module 'requests' has no attribute 'gat'. Did you mean: 'get'?
  • NameError: name 'priint' is not defined. Did you mean: 'print'?
  • python 还能给出修改意见

2  应用错误(类型应用,属性使用的错误)

2.1 类型错误 TypeError:  如字符串连接错误

TypeError: can only concatenate str (not “int“) to str

  • 我原来代码有这么一句:
  • print ("本页返回状态码: "+res.status_code)
  • 运行会报错
  •  TypeError: can only concatenate str (not “int“) to str
  • 因为res.status_code 返回的是数字,只有字符串可以  "" + "" ,  所以用 str() 把 res.status_code 转化为string 就OK了
  • 修改为
  • print ("本页返回状态码: "+str(res.status_code))

2.2  属性应用错误  AttributeError

 AttributeError: 'str' object has no attribute 'text'

错误原因

  • print (res.text)  即相当于 print(html1.text)
  • 当时 res=html =""" ... """
  • 即相当于 print(string.text)
  • string本身并没有 .text 这种下级属性了!
  • 这里除非html1 不是一个string, 而是一个 html网页,用requests.get() 取下来的就可以
  • 即 这样是对的  print(requests.get(url1).text)

3 模块相关错误

3.1 找不到对应模块 ModuleNotFoundError:

  • 报错内容:  ModuleNotFoundError: No module named 'bs4'
  • 需要现安装模块后,才能引用
  • 没有安装这个模块就import 就会报错

3.2 相关模块相关错误,如os的  OSError: [Errno 22] Invalid argument: 

报错  OSError: [Errno 22] Invalid argument: 

错误写法

  • 错误写法
  • path1="E:\work\FangCloudV2\personal_space\2learn\python3\html0003.html"
  • soup1=BeautifulSoup(open(path1))

正确写法

  • path1=r"E:\work\FangCloudV2\personal_space\2learn\python3\html0003.html"
  • soup1=BeautifulSoup(open(path1))
  • 因为path1, url1 这种 一个长string里本身带一些特殊符号,比如/ \等转义符,就要用r转换为rawdata

报错信息

OSError: [Errno 22] Invalid argument: 'E:\\work\\FangCloudV2\\personal_space\x02learn\\python3\\html0003.html'

3.3 requests模块问题:requests.exceptions.InvalidSchema无效架构

  • 错误写法1
  • print (html1.text)
  • 这个例子是因为当时我这个 html 本身已经是一个字符串 """ ... '"""的内容,而不是网页里
  • 所以string.text 会报错
  • print (html1.text) 会报错

 requests.exceptions.InvalidSchema: No connection adapters were found for '<html><head><title>The Dormouse\'s story</title></head>\n<body>\n<p class="title"><b>The Dormouse\'s story</b></p>\n\n<p class="story">Once upon a time there were three little sisters; and their names were\n<a href="http://example.com/elsie" class="sister" id="link1">Elsie</a>,\n<a href="http://example.com/lacie" class="sister" id="link2">Lacie</a> and\n<a href="http://example.com/tillie" class="sister" id="link3">Tillie</a>;\nand they lived at the bottom of a well.</p>\n\n<p class="story">...</p>\n'

3.4 re.error: unbalanced parenthesis at position 7

使用re 正则库的时候,括号没有进行转义,或者丢了一半括号

4 语法错误 SyntaxError:

4.1 函数语法错误 (缺少括号)

  • SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?
  • python 还能给出修改意见
  • print ()  语法需要有括号

4.2 函数语法错误 (缺少:)

正确写法

  •  python语法,要注意 冒号和缩进: 
  • 正确写法 with open(path1 ,"a") as f :

报错内容

  •    with open(path1 ,"a") as f
  •                               ^
  • SyntaxError: expected ':'

4.3 字符串连接错误  SyntaxError: unterminated string literal 未结束的字符串

  • SyntaxError: unterminated string literal
  • 未结束的字符串
  • 造成这种错误的原因其实就是你运行的字符串有多义性
  • 比如字符串的引号没有成对出现。
  • 比如 转义序列 使用不正确
  • 下面的例子就是 把\ 写成  \\ 后即可解决问题

报错例子

错误:print(‘I'm a student')

正确:print(‘Im a student')

错误:with open(loc1+str(page)+'\'+p_name, 'wb') as f:

正确:with open(loc1+str(page)+'\\'+p_name, 'wb') as f:

 4.4  值错误/参数错误  ValueError:

  • soup1=BeautifulSoup(open(html1,"html.parser"))
  • ValueError: invalid mode: 'html.parser'

5 格式错误

5.1  缩进错误 IndentationError:  

IndentationError: unexpected indent

  • IndentationError: unexpected indent
  • 就是缩进不符合python 要求

5.2 语法错误(复制代码空格导致错误):SyntaxError: invalid non-printable character U+00A0

  • 从网上边复制代码,复制的代码中空格和Python中的格式不一样造成的
  • 将脚本中的空格全部删除重新敲再重新运行即可。

6 非错误,警告提醒类!


6.1  BeautifulSoup(html1,"lxml") 缺少参数时的警告

  •  soup1=BeautifulSoup(html1,"lxml")
  • lxml 是解析方式
  • 如果不写,默认也会采用 lxml的解析
  • 如果写成 soup1=BeautifulSoup(html1) 可以正常运行,不会中断运行,但是会提醒


 

Python Error - UnboundLocalError: local variable xxx referenced before assignment

变量使用前未初始化

重名变量,在函数内有全局声明时,当然为全局变量

除此之外,当重名变量在函数内存在(可以不是在函数内第一次出现时)赋值语句(包括 += 语句)时,它被认定为局部变量,否则被认为是全局变量。

插说一句,这个语法规则很容易理解。因为当出现赋值语句时,说明重名变量在函数内的值已经与函数外的值完全无关,重新赋了个新值,所以完全没有必要视之为全局变量

这就导致,当 函数内的、与函数外全局变量重名的变量,第一次在函数中出现不是赋值语句,而后面又在函数中出现了它的赋值语句 时,Python 解释器会报 “UnboundLocalError” 错误。这种情况的产生又分两种原因:

重名变量是全局变量,忘记对其用 global 关键字声明就使用(这种情况,如果后面没有赋值语句也无妨,解释器也会认为它是全局变量),但后面又出现了赋值语句,使 Python 解释器误解析为局部变量
重名变量是局部变量,忘记初始化了
 

也就是说,python 会默认赋值语句 的变量是局部的,而如果次

Python Error - UnboundLocalError: local variable xxx referenced before assignment_iLiuXH的博客-CSDN博客


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/659516.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【枚举区间思想+DP】子串的子序列

F-子串的子序列_牛客小白月赛62 (nowcoder.com) 题意&#xff1a; 思路&#xff1a; 复盘一下应该有的思路&#xff1a; 首先n^2枚举肯定超时&#xff0c;我们枚举的是一个区间 枚举区间有一些trick&#xff1a; 1.枚举其中一个右&#xff08;左&#xff09;端点&#xff…

基于simulink车辆动力学可视化仿真(附源码)

一、前言 车辆动力学是研究汽车在行驶过程中的运动学和力学特性的学科。它研究车辆在不同路面条件、不同驾驶情况下的加速、制动、转向等运动状态&#xff0c;并通过建立数学模型来分析和优化车辆的性能和安全性。车辆动力学是汽车工程、机械工程和物理学等学科的交叉领域&…

【C语言11】文件操作(fgtec,fputc,fgets,fputs,fscanf,fprintf)

1.什么是文件 磁盘上的文件是文件。 但是在程序设计中&#xff0c;我们一般谈的文件有两种&#xff1a;程序文件、数据文件&#xff08;从文件功能的角度来分类的&#xff09;。 程序文件 包括源程序文件&#xff08;后缀为.c&#xff09;,目标文件&#xff08;windows环境后…

unittest教程__expectedFailure预期用例失败(5)

在断言用例执行结果时&#xff0c;会出现预期结果与实际结果不一致的情况&#xff0c;此时我们明确知道用例执行结果为FAIL&#xff0c;不想看到打印错误信息怎么办&#xff1f; 使用装饰器unittest.expectedFailure标记该用例。 import unittestclass Demo(unittest.TestCas…

Tcl常用命令备忘录-format与scan

format 语法&#xff1a;format formatString arg arg ... 参数介绍&#xff1a; formatString&#xff1a;格式化字符串&#xff0c;使用各种标识符和修饰符进行格式化。arg&#xff1a;被格式化的变量或字符串。 Tcl语言中的format命令可以用来格式化字符串输出&#xff…

Autosar代码解析-Source Insight的使用

文章目录 一、Source Insight简介二、Autosar代码查看三、解决办法一、Source Insight简介 Source insight是一款简洁、强大的轻量级代码浏览编辑器,启动快、使用便捷,很多程序员应该都使用过!它几乎支持所有的语言,比如C、C++、ASMA汇编、HTML等,能创建并维护其高性能的符…

【软件测试】性能测试服务端—排查指标问题(详细)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 软件性能测试的目…

【数据类型】C#和Sql Server、Mysql、Oracle等常见数据库的数据类型对应关系

&#x1f3c6;&#x1f3c6;这是小5写的第二篇城市领跑者文章&#xff0c;一起为所在城市领跑助力吧&#xff01; &#x1f3c6;&#x1f3c6;在实际项目中&#xff0c;不管是用C#后端编程语言也好&#xff0c;还是Java后端编程语言&#xff0c;都可能会用到不同端的数据类型转…

JAVA-MAVEN初学者教程(配置、pom.xml、依赖管理等)

目录 认识MAVEN安装&配置MAVENwindows安装MAVENMAVEN的配置本地仓库 localRepository镜像 mirrors代理仓库 respositories代理 proxies IDEA配置MAVEN&#xff08;一个module&#xff09; MAVEN生命周期install下载包 模块的pom.xml坐标gav打包方式 package属性值 properti…

2023最全Java面试八股(涵盖所有Java核心面试知识点),立刻收藏

2022已成为过去式&#xff0c;不论这一年好与坏&#xff0c;我们都需要抓住新一年的机会&#xff0c;跳槽涨薪&#xff0c;还是学习提升&#xff01;先给自己定一个小目标&#xff0c;然后再朝着目标去努力就完事儿了&#xff01; 为了帮大家节约时间&#xff0c;给大家搞来了2…

9.反射和Lambda表达式

目录 一、反射 1.反射是什么 2.反射操作的四个核心类&#xff08;都处在java.lang.reflect&#xff09; 3.在java中获取一个类的class对象一共有三种途径&#xff1a; 4.想通过反射来操作类或者对象&#xff0c;第一步就是要获得该类的class对象。 5.Constructor应用 6.Met…

LabVIEW开发光线追踪可视化分段反射器测试台

LabVIEW开发光线追踪可视化分段反射器测试台 为了满足美国国家航空航天局&#xff08;NASA&#xff09;对未来望远镜的要求&#xff0c;新的红外空间天文台将在哈勃太空望远镜使用寿命结束后取代其。作为HST的继任者&#xff0c;詹姆斯韦伯太空望远镜&#xff08;JWST&#xf…

零基础小白如何快速入门网络安全/Web安全?

前言 网络安全现在是朝阳行业&#xff0c;缺口是很大。不过网络安全行业就是需要技术很多的人达不到企业要求才导致人才缺口大 初级的现在有很多的运维人员转网络安全&#xff0c;初级也会慢慢的卷起来&#xff0c;但是岗位多不用怕&#xff0c;以后各大厂也都会要网络安全人…

scratch lenet(6): feature_map可视化的C语言实现

scratch lenet(6): feature_map可视化的C语言实现 文章目录 scratch lenet(6): feature_map可视化的C语言实现1. 目的2. FeatureMap 的归一化2.1 公式2.2 代码实现2.3 代码调用 3. 可视化结果4. References 1. 目的 将卷积层(Convolution)、下采样层&#xff08;SubSampling&a…

Linux系统之安装Ward服务器监控工具

Linux系统之安装Ward服务器监控工具 一、Ward介绍1.1 Ward简介1.2 Ward特点 二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍 三、部署java环境3.1 jdk下载地址3.2 解压jdk安装包3.3 复制二进制文件3.4 配置环境编辑3.5 查看java版本 四、下载ward的jar包4.1 下载软件包4.2 …

阿里巴巴内部10w+字总结的Java面试题,全是面试官必问技术

献上熬夜整理最新“10w字总结的Java面试题&#xff08;附答案&#xff09;”够你刷&#xff01; 春招升级打怪拿offer&#xff0c;10w字总结的Java面试题&#xff08;附答案&#xff09;够你刷 其包含的内容模块有&#xff1a;基础、JVM、多线程与高并发、Spring、MyBatis、Spr…

APP自动化测试高级定位技巧,我敢打赌你一定不知道

目录 高阶定位-Xpath 包含-contains() XPath 轴 XPath 运算符 AND OR 高阶定位-CSS css selector 定位介绍 css selector 用法 示例 iOS css selector 定位 Toast 识别 Toast 是什么 Toast 定位 Toast 定位 显示等待 使用lambda表达式 总结三种等待方法 高阶定…

Ansible自动化运维工具之playbook剧本编写含lnmp

1.playbook的相关知识 1.1 playbook 的简介 playbook是 一个不同于使用Ansible命令行执行方式的模式&#xff0c;其功能更强大灵活。简单来说&#xff0c;playbook是一个非常简单的配置管理和多主机部署系统&#xff0c;不同于任何已经存在的模式&#xff0c;可作为一个适合部…

【黑马头条】解决P11@EnableDiscoveryClient注解无法导入爆红、bootstrap.yml配置文件图标无法显示成带云朵的小绿叶图标

本期目录 1. 问题描述2. 问题原因3. 解决方法 1. 问题描述 如果按黑马老师给的 heima-leadnews-service 模块的 pom 文件所写的依赖&#xff0c;会发现有 2 个 Bug &#xff1a; 首先&#xff0c;启动类 UserApplication 上的服务发现开关注解 EnableDiscoveryClient 不存在。 …

知识复盘(Session、Mysql、Servlet、Jsp、SSM)

一、会话跟踪技术(Session Tracking&#xff09; 1.为什么会出现会话机制? 目前主流的通讯方式就是客户端和服务端之间进行通信&#xff0c;而这种通信是通过Http协议实现的&#xff0c;但Http协议本身是无状态的&#xff0c;所以客户端每发送一次请求到服务器都会被当做一个…