您的位置:首页 > 理论基础 > 计算机网络

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

2017-08-12 13:47 387 查看
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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: