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.多层装饰器 多层装饰器的原理是,装饰器装饰函 ...
随机推荐
- 5.SSRF服务器端请求伪造
SSRF(服务端请求伪造):是一种由攻击者构造形成由服务端发起请求的一个安全漏洞. 一般情况下,SSRF攻击的目标是从外网无法访问的内部系统.(正是因为它是由服务端发起的,所以它能够请求到与它相连而与 ...
- 将一个mapList转换为beanList
public static <T> List<T> copyMapToBean( List<Map<String, Object>> resultM ...
- C# Collection was modified;enumeration operation may not execute
一.问题描述 在做 数组.列表.集合遍历时,可能我们会遇见这个问题.Collection was modified;enumeration operation may not execute ,翻译的 ...
- SAS笔记(3) LAG和DIFF函数
在实际的应用中,我们会想查看当前观测的上一个观测值,在上一篇博客中我们使用了RETAIN语句来记录上一条观测,其实SAS还提供了一个很好用的函数LAG.当我们使用函数时,一定要明确该函数的返回值是什么 ...
- [Xcode 实际操作]三、视图控制器-(10)在Storyboard中使用图像视图控件
目录:[Swift]Xcode实际操作 本文将演示常用的图像视图控件在故事板中的使用. 打开故事板文件[Main.storyboard]点击选择视图控制器的根视图. 点击库图标,打开控件库面板. 在控 ...
- iPhone摄影中的深度捕捉(WWDC2017-Session 507)
507是深度媒体相关的概念层面的内容.主要为下面4个部分: Depth and disparity on iPhone 7 Plus Streaming depth data from the cam ...
- CTS/APIO后文化课游记
根据ghj1222的尿性,干什么事都要写一个游记划水记啥的...然后就写嘛... 现在是5.30微机课,先开个坑,学校6.5放假,我将于6.5后开始更新本文 APIO回来后发生的事真的特别多...有的 ...
- Hexo瞎折腾系列(9) - 网页标题崩溃特效
前言 本系列的所有修改均基于本系列第一篇中的新增文件(譬如custom.js),请先自行阅读Hexo瞎折腾系列(1) - 准备工作与简单美化:并按照文章所说自行修改代码或文件. 为网页添加标题崩溃特效 ...
- 我在B站学习 清华大学教授带你学习c++(进阶)构造函数
B站av11459203的一系列视频,跳过了基础篇直接进入进阶,从此难度开始加大.这里做出一些笔记分享一下. 我是1.25速度看的..对应分P 37-38 构造函数的作用 将对象初始化为一个特定的初始 ...
- 移动端APP第一次登录和自动登录流程
App登陆保存数据流程App因为要实现自动登陆功能,所以必然要保存一些凭据,所以比较复杂. App登陆要实现的功能: 密码不会明文存储,并且不能反编绎解密: 在服务器端可以控制App端的登陆有效性,防 ...