热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

这篇文章主要介绍了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和find_all爬虫、找文本的实现的文章就介绍到这了,更多相关python find和find_all爬虫 内容请搜索编程笔记以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程笔记!

    原文链接:https://blog.csdn.net/weixin_50123771/article/details/109077446


    推荐阅读
    • 本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ... [详细]
    • Cookie学习小结
      Cookie学习小结 ... [详细]
    • 使用Tkinter构建51Ape无损音乐爬虫UI
      本文介绍了如何使用Python的内置模块Tkinter来构建一个简单的用户界面,用于爬取51Ape网站上的无损音乐百度云链接。虽然Tkinter入门相对简单,但在实际开发过程中由于文档不足可能会带来一些不便。 ... [详细]
    • 本文详细探讨了使用Python3编写爬虫时如何应对网站的反爬虫机制,通过实例讲解了如何模拟浏览器访问,帮助读者更好地理解和应用相关技术。 ... [详细]
    • 浅析python实现布隆过滤器及Redis中的缓存穿透原理_python
      本文带你了解了位图的实现,布隆过滤器的原理及Python中的使用,以及布隆过滤器如何应对Redis中的缓存穿透,相信你对布隆过滤 ... [详细]
    • Python 3 Scrapy 框架执行流程详解
      本文详细介绍了如何在 Python 3 环境下安装和使用 Scrapy 框架,包括常用命令和执行流程。Scrapy 是一个强大的 Web 抓取框架,适用于数据挖掘、监控和自动化测试等多种场景。 ... [详细]
    • 本文介绍了如何在Spring框架中使用AspectJ实现AOP编程,重点讲解了通过注解配置切面的方法,包括方法执行前和方法执行后的增强处理。阅读本文前,请确保已安装并配置好AspectJ。 ... [详细]
    • 本文详细介绍了 Java 网站开发的相关资源和步骤,包括常用网站、开发环境和框架选择。 ... [详细]
    • 如何在 Python 列表中添加元素 [Python 基础]
      本文介绍了 Python 中常用的三种方法来向列表中添加元素:`append()`、`extend()` 和 `insert()`。这些方法分别适用于不同的场景,帮助开发者灵活地管理列表数据。 ... [详细]
    • 本文介绍了如何使用Python爬取妙笔阁小说网仙侠系列中所有小说的信息,并将其保存为TXT和CSV格式。主要内容包括如何构造请求头以避免被网站封禁,以及如何利用XPath解析HTML并提取所需信息。 ... [详细]
    • python模块之正则
      re模块可以读懂你写的正则表达式根据你写的表达式去执行任务用re去操作正则正则表达式使用一些规则来检测一些字符串是否符合个人要求,从一段字符串中找到符合要求的内容。在 ... [详细]
    • C#实现文件的压缩与解压
      2019独角兽企业重金招聘Python工程师标准一、准备工作1、下载ICSharpCode.SharpZipLib.dll文件2、项目中引用这个dll二、文件压缩与解压共用类 ... [详细]
    • Spring Data JdbcTemplate 入门指南
      本文将介绍如何使用 Spring JdbcTemplate 进行数据库操作,包括查询和插入数据。我们将通过一个学生表的示例来演示具体步骤。 ... [详细]
    • 利用python爬取豆瓣电影Top250的相关信息,包括电影详情链接,图片链接,影片中文名,影片外国名,评分,评价数,概况,导演,主演,年份,地区,类别这12项内容,然后将爬取的信息写入Exce ... [详细]
    • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
    author-avatar
    邵世以_806
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有