python 如何使用find和find_all爬虫、找文本的实现


Posted in Python onOctober 16, 2020

这篇文章我们来讲讲如何在python使用bs4模块返回值中正确使用find和find_all来取值。

我们先来看看find函数在两种场景使用: 一、 find在字符串(str)时可以查找使用。

在字符串(str)是怎么来使用find函数,find函数就是找到的意思。

我们来看看下面案例

#---------案例1-----------
a='0123456789'#因为我们电脑中的字节都是从0开始算第一个位置
b=a.find('0')#这行代码的意思就是我要查找a中0的位置
print(b)

>>0

#这里就是打印出来的内容

应为0在a中的第0个位置

在来试试第二个案例

#---------案例2-----------
a='0123456789' 
b=a.find('5')#我要查找a中5的位置
print(b)

>>5

其中你要查找的内容不在a中,则会返回 -1 。在str中的使用方法说到这里。

二、 find在bs4模块返回值中怎么使用

我们在课堂上学过,bs4返回的值是 <class 'bs4.BeautifulSoup'>

假设我把把bs4返回的值赋值给 bs

这时我们就要用 bs.find(class_=‘one')

这个代码就是在bs值中从上往下找,找到第一个类等于one的值。

如果下图

python 如何使用find和find_all爬虫、找文本的实现

从上到下找是不是我标出来蓝色区域是我要找的类,对的我们把他赋值给one,我们把他打印出来

print('one')

这时候系统就会返回这样一个值给我们,如下图

python 如何使用find和find_all爬虫、找文本的实现

大家看,他返回的是从 class='one'开始到这个类标签ul结束,对的,他不会返回其他值,他只会返回这个类的标签开始到结束。

所以当bs4返回值时,第一步使用find找打包含自己要找的所有值中第一个父类,再赋值给函数,这样这个函数就是我们进行下一步查找的对象。

接下俩我们就还可以使用find(找到)或者find_all(找到全部一样的),来定位函数位置,像图中:

python 如何使用find和find_all爬虫、找文本的实现

class="navbar-branding"就只有一个,我们像打印出 开发者的网上家园 怎么写

这时候我们假设,上面bs.find(class_='one')赋值给one函数那么我们就从one开始查找
one.find(class="navbar-branding")这样查找出来的内哦让那个就会返回给我们这个区域内容

python 如何使用find和find_all爬虫、找文本的实现

然后这个区域的文字再title值里面,我们就没办法直接用 .text 取值了,所以我们要接着查找

one.find(class="navbar-branding")赋值给 one_1

然后用 one_1.find('a')来查找到a标签

后面加一个中括号取值[‘title']这样打印出来内容就是“开发者的网上家园”了。

连起来就是这样写

print(one_1.find('a') ['title'])

下面我们把代码连起来打一遍看图

python 如何使用find和find_all爬虫、找文本的实现

看代码

one=bs.find(class_='one')
		one_1=one.find(class="navbar-branding")
	print(one_1.find('a') ['title'])

>>开发者的网上家园
#这就是最后返回的值

就这么简单。

三、 find_all在bs4模块返回值中怎么使用

还是用上图举例

python 如何使用find和find_all爬虫、找文本的实现

我们可以看到如果我要取下面的 li 标签中的值怎么办

这时候我们就得用到find_al了(查找全部一样的)

先补充代码到这个li标签的父类

one=bs.find(class_='one')
one_1=one.find(class="navbar-branding")

然后我们用one_1来取值如下代码

one_1.find_all('li')#这时候我们取值了再one_1区域中所有有li便签的内容

他会返回给我们一个列表

列表时这样的

<li>…</li>,<li>…</li>,<li>…</li>,<li>…</li>,<li>…</li>,<li>…</li>

每一个区域就是一个内容,中间的。。。我时为了图省事,其实都是内容。

竟然得到这样的一个列表我们就可以使用for I in one_1.find_all('li')

这样取遍历出这个列表的东西,然后取值,

或者我只要其中一个就是ne_1.find_all('li')[2] 后面加一个数字,

列表取值大家应该都会把,这样就可以定位到我们想要的东西了。

总结一下find就是查找某一项的第一个数据,find_all就是找所有数据,然后用for遍历就能取出

到此这篇关于python 如何使用find和find_all爬虫、找文本的实现的文章就介绍到这了,更多相关python find和find_all爬虫 内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python的迭代器和生成器使用实例
Jan 14 Python
详解Python中__str__和__repr__方法的区别
Apr 17 Python
python if not in 多条件判断代码
Sep 21 Python
python按综合、销量排序抓取100页的淘宝商品列表信息
Feb 24 Python
Python中几种属性访问的区别与用法详解
Oct 10 Python
在django中图片上传的格式校验及大小方法
Jul 28 Python
python中enumerate() 与zip()函数的使用比较实例分析
Sep 03 Python
python 怎样将dataframe中的字符串日期转化为日期的方法
Sep 26 Python
使用 Python 处理3万多条数据只要几秒钟
Jan 19 Python
jupyter 中文乱码设置编码格式 避免控制台输出的解决
Apr 20 Python
Python如何实现定时器功能
May 28 Python
Python3.8安装Pygame教程步骤详解
Aug 14 Python
Django实现随机图形验证码的示例
Oct 15 #Python
如何使用Python自动生成报表并以邮件发送
Oct 15 #Python
如何在Win10系统使用Python3连接Hive
Oct 15 #Python
Python进行特征提取的示例代码
Oct 15 #Python
Python通过递归函数输出嵌套列表元素
Oct 15 #Python
Python安装第三方库攻略(pip和Anaconda)
Oct 15 #Python
Python return语句如何实现结果返回调用
Oct 15 #Python
You might like
PHP 图像尺寸调整代码
2010/05/26 PHP
php图片加水印原理(超简单的实例代码)
2013/01/18 PHP
javascript encodeURI和encodeURIComponent的比较
2010/04/03 Javascript
JS二维数组的定义说明
2014/03/03 Javascript
个人总结的一些JavaScript技巧、实用函数、简洁方法、编程细节
2015/06/10 Javascript
jQuery实现的分子运动小球碰撞效果
2016/01/27 Javascript
JS实现兼容各种浏览器的获取选择文本的方法【测试可用】
2016/06/21 Javascript
微信公众号-获取用户信息(网页授权获取)实现步骤
2016/10/21 Javascript
easyui导出excel无法弹出下载框的快速解决方法
2016/11/10 Javascript
canvas时钟效果
2017/02/16 Javascript
vue.js实现简单轮播图效果
2017/10/10 Javascript
详解Vue一个案例引发「内容分发slot」的最全总结
2018/12/02 Javascript
微信小程序使用map组件实现解析经纬度功能示例
2019/01/22 Javascript
jQuery操作attr、prop、val()/text()/html()、class属性
2019/05/23 jQuery
快速解决element的autofocus失效问题
2020/09/08 Javascript
jquery实现简单每周轮换的日历
2020/09/10 jQuery
[02:28]DOTA2亚洲邀请赛附加赛 RECAP赛事回顾
2015/01/29 DOTA
[49:18]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 OG vs TNC
2018/04/01 DOTA
[10:14]2018DOTA2国际邀请赛寻真——paiN Gaming不仅为自己而战
2018/08/14 DOTA
python网络编程学习笔记(四):域名系统
2014/06/09 Python
python通过yield实现数组全排列的方法
2015/03/18 Python
Python利用matplotlib生成图片背景及图例透明的效果
2017/04/27 Python
基于Django contrib Comments 评论模块(详解)
2017/12/08 Python
python通过安装itchat包实现微信自动回复收到的春节祝福
2020/01/19 Python
python库skimage给灰度图像染色的方法示例
2020/04/27 Python
初学者学习Python好还是Java好
2020/05/26 Python
大学生毕业自我评价范文分享
2013/11/11 职场文书
会计助理的岗位职责
2013/11/29 职场文书
简历自我评价怎么写好呢?
2014/01/04 职场文书
老师给学生的表扬信
2014/01/17 职场文书
幼儿教师寄语集锦
2014/04/03 职场文书
电子信息专业应届生自荐信
2014/06/04 职场文书
2014年学校工会工作总结
2014/12/06 职场文书
2015年化妆品销售工作总结
2015/05/11 职场文书
2015年暑期社会实践报告
2015/07/13 职场文书
导游词之新疆-喀纳斯
2019/10/10 职场文书