这篇文章我们来讲讲如何在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返回的值是

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

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

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

如果下图

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

print('one')

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

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

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

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

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

这时候我们假设,上面bs.find(class_='one')赋值给one函数那么我们就从one开始查找

one.find(class="navbar-branding")这样查找出来的内哦让那个就会返回给我们这个区域内容

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

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

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

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

连起来就是这样写

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

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

看代码

one=bs.find(class_='one')

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

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

>>开发者的网上家园

#这就是最后返回的值

就这么简单。

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

还是用上图举例

我们可以看到如果我要取下面的 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便签的内容

他会返回给我们一个列表

列表时这样的

…,…,…,…,…,…

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

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

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

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

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

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

本次教程就到这里啦,因为没有检查,所以可能存在错误,发现错误立即联系我改正

python中find函数爬虫_python 如何使用find和find_all,爬虫、找文本相关推荐

  1. python中max函数用法_Python中max函数用法实例分析

    Python中max函数用法实例分析 更新时间:2015年07月17日 15:45:09 作者:优雅先生 这篇文章主要介绍了Python中max函数用法,实例分析了Python中max函数的功能与使用 ...

  2. python中pivot函数用法_python中pivot()函数基础知识点

    不同于以往为大家介绍的函数使用,我们利用pivot函数可以实现的方式,就是用来重塑数据使用的,在python的使用上并不常见,但是如果需要利用这种功能,基本上能够被我们选择调用的函数,pivot函数一 ...

  3. python中sort函数源代码_Python中sort和sorted函数代码解析

    Python中sort和sorted函数代码解析 本文研究的主要是Python中sort和sorted函数的相关内容,具体如下. 一.sort函数 sort函数是序列的内部函数 函数原型: L.sor ...

  4. python中sleep函数用法_python中sleep函数用法实例分析

    本文实例讲述了python中sleep函数用法.分享给大家供大家参考.具体如下: Python中的sleep用来暂停线程执行,单位为秒 #------------------------------- ...

  5. python中format函数作用_python中format函数什么意思

    python中format函数什么意思? Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能. 基本语法是通过 {} 和 : 来代替以前的 % ...

  6. python中get函数作用_python get函数有什么作用?示例解析

    这篇文章之中我们来了解一下关于python字典之中的pythonget函数的相关知识,get函数是什么意思,他有什么作用都将会在接下来的文章之中得到解答. 描述 Python 字典(Dictionar ...

  7. python中exchange函数使用_python基于exchange函数发送邮件过程详解

    python基于exchange函数发送邮件过程详解 作者: shuzihua 更新时间:2020-11-06 10:40:35 原文链接 1.Python hasattr() 函数 描述 hasat ...

  8. python中str函数用法_python中str内置函数用法总结

    大家在使用python的过程中,应该在敲代码的时候经常遇到str内置函数,为了防止大家搞混,本文整理归纳了str内置函数.1字符串查找类:find.index:2.字符串判断类:islower.isa ...

  9. python中主函数循环_python入门(三):分支、循环、函数详解

    1.分支 if循环格式: if condition_1: statement_block_1 elif condition_2: statement_block_2 else: statement_b ...

  10. python中result函数用法_python中函数的参数和返回值

    函数 目标 函数参数和返回值的作用 函数的返回值 进阶 函数的参数 进阶 递归函数 01. 函数参数和返回值的作用 函数根据 有没有参数 以及 有没有返回值,可以 相互组合,一共有 4 种 组合形式 ...

最新文章

  1. 大角度人脸转正--Towards Large-Pose Face Frontalization in the Wild
  2. linux一个网卡绑定多个端口,RedHat实现多网卡绑定
  3. zynqNet整体思路框架
  4. 某大学强制全员申报国自然,不提交就扣奖金!
  5. C#数据结构-顺序表
  6. jquery 时间相减获取天数_JQuery Datepicker实现JavaScript日期相减的小例子
  7. MongoDB实战经验分享
  8. Mac终端文件类型显示不同颜色
  9. BASH系列(2)——变量
  10. 小知识--Windows语音效果
  11. UCI数据集汇总及描述
  12. 工程项目管理系统java程序,基于jsp的工程项目管理系统-JavaEE实现工程项目管理系统 - java项目源码...
  13. 【STM32f401学习之路-01】GPIO实战—点灯、检测按键
  14. 使用Python Snap7读取西门子触摸板 Dint LReal(int double)数据
  15. 433M、2.4G无线模块
  16. 1156 Sexy Primes (20 point(s)) PAT 素数
  17. 快速查看网页元素的CSS样式
  18. 每日一书:《性能测试从零开始loadrunner入门与提升》PDF高清版
  19. 在linux上挂载ntfs分区
  20. NLP之语言词素Morpheme(形态学)

热门文章

  1. 热电偶集电环与热电阻的区别是什么
  2. Canvas ——画函数线
  3. 一年有几个情人节 2019年有多个情人节
  4. 计算机组成原理基础(转载)
  5. Vue.config.productionTip = false的意思
  6. c语言求fibonacci数列前20,求fibonacci数列的前20个数之和
  7. ios共享账号公众号_英雄联盟手游预约起来!最新2020年ios日本AppleID账号密码共享...
  8. python 西门子触摸屏通讯_实例 | 博途V15 西门子S7-1200与触摸屏通信详解
  9. Hcaptcha 自动识别/打码解决方案
  10. 什么是临时表,临时表什么时候删除