python 学习之FAQ:find 与 find_all 使用
FAQ记录
1. 错误源码
错误源码如下
def fillUnivList(_html,_ulist):
soup =BeautifulSoup(_html,'html.parser')
for tr in soup.find_all('tbody').children:
if isinstance(tr,bs4.element.Tag):
tds = tr.find_all('td')
_ulist.append((tds[].string,tds[].string,tds[].string))
2. 报错显示
运行报错显示
File"printUnivLst.py", line ,in getUnivList
for tr in soup.find_all('tbody').children:#注意find与find_all不同使用场景
AttributeError:'ResultSet' object has no attribute 'children'
3. 报错分析
  报错内容AttributeError: 'ResultSet' object has no attribute 'children'意思为属性错误:结果集对象每一属性可以调用。
  分析错误源码既可以知道soup对象的方法find_all()返回的是一个结果集列表,而结果集列表是一组数据,其是没有属性的,只有单个数据对象才有属性可言。
  故,原错误源码中,对于tbody标签的子标签内容进行查找时,应该使用find().children,而soup.find()返回的结果一个字符串对象,其可以存在属性的调用。
4. 修改的代码
# 大学排名数据提取,并存入列表
def getUnivList(_html,_Univlst):
soup =BeautifulSoup(_html,'html.parser')
for tr in soup.find('tbody').children:#注意find 与find_all不同使用场景
if isinstance(tr,bs4.element.Tag):
tds = tr.find_all('td')
_Univlst.append((tds[].string,tds[].string,tds[].string))
python 学习之FAQ:find 与 find_all 使用的更多相关文章
- python 学习之FAQ:文档内容写入报错
		2017.3.29 FAQ 1. 文档内容写入报错 使用with open() as file: 写入文档时,出现'\xa9'特殊字符写入报错,通过print('\xa9')打印输出“©”. > ... 
- Python学习推荐
		1. Python官网 官网想必是最权威的,不仅有Python 2.X和3.X的软件包,还有官方文档Python tutorial (official docs)及社区. 2. 在线阅读免 ... 
- Python学习--04条件控制与循环结构
		Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ... 
- Python学习--01入门
		Python学习--01入门 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.和PHP一样,它是后端开发语言. 如果有C语言.PHP语言.JAVA语言等其中一种语言的基础,学习Py ... 
- Python 学习小结
		python 学习小结 python 简明教程 1.python 文件 #!/etc/bin/python #coding=utf-8 2.main()函数 if __name__ == '__mai ... 
- Python学习路径及练手项目合集
		Python学习路径及练手项目合集 https://zhuanlan.zhihu.com/p/23561159 
- python学习笔记-python程序运行
		小白初学python,写下自己的一些想法.大神请忽略. 安装python编辑器,并配置环境(见http://www.cnblogs.com/lynn-li/p/5885001.html中 python ... 
- Python学习记录day6
		title: Python学习记录day6 tags: python author: Chinge Yang date: 2016-12-03 --- Python学习记录day6 @(学习)[pyt ... 
- Python学习记录day5
		title: Python学习记录day5 tags: python author: Chinge Yang date: 2016-11-26 --- 1.多层装饰器 多层装饰器的原理是,装饰器装饰函 ... 
随机推荐
- 【Qt官方例程学习笔记】Address Book Example(代理模型)
			地址簿示例展示了如何使用代理模型在单个模型的数据上显示不同的视图. 本例提供了一个地址簿,允许按字母顺序将联系人分组为9组:ABC.DEF.GHI.…,VW,…XYZ.这是通过在同一个模型上使用多个视 ... 
- hello markdown
			目录 标题 标题1 标题2 标题3 有序列表 无序列表 插入图片 插入链接 粗体.斜体.删除线 引用 表格 代码 目录 新的开始 希望能够坚持下去 cnblogs也支持markdown 之前看了写ma ... 
- JWT使用过程中遇到的问题
			1.创建token的盐设置过于简单,出现secret key byte array cannot be null or empty. 异常 解决方法:jwt:config:key:hwy ------ ... 
- Thinkphp通过phpqrcode实现网址验证码
			第一步: phpqrcode下载第三方扩展包,http://phpqrcode.sourceforge.net/ 第二步: 将扩展包放到/ThinkPHP/Library/Vendor/下的Phpqr ... 
- C# 字节转换
			1.字符串与字节数组 System.Text.Encoding.UTF-8.GetBytes() 汉字转换后3个字节,数字转换和数字位数一样 GetString() 2.Int32值类型与字节数组 B ... 
- fatal: Authentication failed (二)
			一.前言 前面一段时间写了一篇解决 git 上传代码出现的权限验证问题,还是没有很好的解决.现在还了方式,具体步骤如下: 二.操作流程 我们在上传代码到服务器,我们都需要安装 Git 版本控制.在安装 ... 
- uva 1608 不无聊的序列
			uva 1608 不无聊的序列 紫书上有这样一道题: 如果一个序列的任意连续子序列中都至少有一个只出现一次的元素,则称这个序列时不无聊的.输入一个n个元素的序列,判断它是不是无聊的序列.n<=2 ... 
- 2017-10-23 NOIP模拟赛
			叉叉 题目描述 现在有一个字符串,每个字母出现的次数均为偶数.接下来我们把第一次出现的字母a和第二次出现的a连一条线,第三次出现的和四次出现的字母a连一条线,第五次出现的和六次出现的字母a连一条线.. ... 
- 2017-10-7 清北刷题冲刺班a.m
			测试 A 消失的数字 文件名 输入文件 输出文件 时间限制 空间限制del.cpp/c/pas del.in del.out 1s 512MB题目描述现在,我的手上有 n 个数字,分别是 a 1 ,a ... 
- [Xcode 实际操作]三、视图控制器-(7)UINavigationController自定义导航按钮
			目录:[Swift]Xcode实际操作 本文将演示设置导航按钮的样式,以及设置导航标题区域的样式. import UIKit class FirstSubViewController: UIViewC ... 
