python网络爬虫与信息采取之解析网页(二)---BeautifulSoup库的find()和find_all()

[亡魂溺海] 提交于 2019-11-27 08:54:47

BeautifulSoup库有很多属性,上篇文章我们也已经介绍过,但如果你用的多了,你会发现,其实学会其中几个功能,你就完全掌握了这个库。本篇文章我主要介绍一下find() 和 find_all()函数,如果想了解其他一些不常用的功能,可以自行百度。

而本文介绍的是一个用标签的属性和内容来获取内容的功能

find() 和 find_all()函数可以说是两个函数,也可以说是一个函数。为什么呢?其实这两个函数的参数基本上一样,让他们产生区别的就是limit这个参数,这个参数是范围限制参数,可以控制你find的范围,而find()就是find_all()的limit参数为1时的特殊形式。因此,由于这个原因,这两个函数的唯一区别也就显而易见了:

唯一区别:*find()返回的是第一个匹配的标签结果

    *find_all()返回的是所有匹配结果的列表

除了区别,剩下的那就都相似了,接下来将以find_all()函数为例进行讲解:

find_all(tag, attributes, recursive, text, limit, keywords)

注:find_all() 和 findAll()函数是一样的

1.标签参数(tag)

可以通过传一个标签的名称或多个标签的名称组成的python列表形式来做标签参数;

格式:

一个------”tag“

多个------{"tag1","tag2",`````}

示例:

2.属性参数(attributes)

定义:是用一个python字典封装一个标签的若干属性和对应的属性值,注意是对一个标签的属性,所以一定要指明这个标签

作用:更好的区分众多相同的标签

格式:(”tag“,{"属性","属性值"}

示例:


3.递归参数(recursive)

默认----true

flase---只查找文档的一级标签


4.文本参数(text)

定义:用标签内容匹配,注意必须是全部内容

格式:(text = "文本内容")

示例:


5.关键词参数(keyword)

定义:选择具有指定属性的标签

格式:(属性=”属性值“)

示例:


6.范围限制参数(limit)



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!