python中find函数爬虫_python 如何使用find和find_all,爬虫、找文本
这篇文章我们来讲讲如何在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,爬虫、找文本相关推荐
- python中max函数用法_Python中max函数用法实例分析
Python中max函数用法实例分析 更新时间:2015年07月17日 15:45:09 作者:优雅先生 这篇文章主要介绍了Python中max函数用法,实例分析了Python中max函数的功能与使用 ...
- python中pivot函数用法_python中pivot()函数基础知识点
不同于以往为大家介绍的函数使用,我们利用pivot函数可以实现的方式,就是用来重塑数据使用的,在python的使用上并不常见,但是如果需要利用这种功能,基本上能够被我们选择调用的函数,pivot函数一 ...
- python中sort函数源代码_Python中sort和sorted函数代码解析
Python中sort和sorted函数代码解析 本文研究的主要是Python中sort和sorted函数的相关内容,具体如下. 一.sort函数 sort函数是序列的内部函数 函数原型: L.sor ...
- python中sleep函数用法_python中sleep函数用法实例分析
本文实例讲述了python中sleep函数用法.分享给大家供大家参考.具体如下: Python中的sleep用来暂停线程执行,单位为秒 #------------------------------- ...
- python中format函数作用_python中format函数什么意思
python中format函数什么意思? Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能. 基本语法是通过 {} 和 : 来代替以前的 % ...
- python中get函数作用_python get函数有什么作用?示例解析
这篇文章之中我们来了解一下关于python字典之中的pythonget函数的相关知识,get函数是什么意思,他有什么作用都将会在接下来的文章之中得到解答. 描述 Python 字典(Dictionar ...
- python中exchange函数使用_python基于exchange函数发送邮件过程详解
python基于exchange函数发送邮件过程详解 作者: shuzihua 更新时间:2020-11-06 10:40:35 原文链接 1.Python hasattr() 函数 描述 hasat ...
- python中str函数用法_python中str内置函数用法总结
大家在使用python的过程中,应该在敲代码的时候经常遇到str内置函数,为了防止大家搞混,本文整理归纳了str内置函数.1字符串查找类:find.index:2.字符串判断类:islower.isa ...
- python中主函数循环_python入门(三):分支、循环、函数详解
1.分支 if循环格式: if condition_1: statement_block_1 elif condition_2: statement_block_2 else: statement_b ...
- python中result函数用法_python中函数的参数和返回值
函数 目标 函数参数和返回值的作用 函数的返回值 进阶 函数的参数 进阶 递归函数 01. 函数参数和返回值的作用 函数根据 有没有参数 以及 有没有返回值,可以 相互组合,一共有 4 种 组合形式 ...
最新文章
- 大角度人脸转正--Towards Large-Pose Face Frontalization in the Wild
- linux一个网卡绑定多个端口,RedHat实现多网卡绑定
- zynqNet整体思路框架
- 某大学强制全员申报国自然,不提交就扣奖金!
- C#数据结构-顺序表
- jquery 时间相减获取天数_JQuery Datepicker实现JavaScript日期相减的小例子
- MongoDB实战经验分享
- Mac终端文件类型显示不同颜色
- BASH系列(2)——变量
- 小知识--Windows语音效果
- UCI数据集汇总及描述
- 工程项目管理系统java程序,基于jsp的工程项目管理系统-JavaEE实现工程项目管理系统 - java项目源码...
- 【STM32f401学习之路-01】GPIO实战—点灯、检测按键
- 使用Python Snap7读取西门子触摸板 Dint LReal(int double)数据
- 433M、2.4G无线模块
- 1156 Sexy Primes (20 point(s)) PAT 素数
- 快速查看网页元素的CSS样式
- 每日一书:《性能测试从零开始loadrunner入门与提升》PDF高清版
- 在linux上挂载ntfs分区
- NLP之语言词素Morpheme(形态学)
热门文章
- 热电偶集电环与热电阻的区别是什么
- Canvas ——画函数线
- 一年有几个情人节 2019年有多个情人节
- 计算机组成原理基础(转载)
- Vue.config.productionTip = false的意思
- c语言求fibonacci数列前20,求fibonacci数列的前20个数之和
- ios共享账号公众号_英雄联盟手游预约起来!最新2020年ios日本AppleID账号密码共享...
- python 西门子触摸屏通讯_实例 | 博途V15 西门子S7-1200与触摸屏通信详解
- Hcaptcha 自动识别/打码解决方案
- 什么是临时表,临时表什么时候删除