当前位置: 首页 > 工具软件 > BS.Play > 使用案例 >

学习笔记(04):150讲轻松搞定Python网络爬虫-bs4-find和find_all方法

闾丘照
2023-12-01

立即学习:https://edu.csdn.net/course/play/24756/280700?utm_source=blogtoedu

## find_all的使用:

- 1. 在提取标签的时候,第一个参数是标签的名字。然后如果在提取标签的时候想要使用标签属性进行过滤,那么可以在这个方法中通过关键字参数的形式,将属性的名字以及对应的值传进去。或者是使用`attrs`属性,将所有的属性以及对应的值放在一个字典中传给`attrs`属性。
- 2. 有些时候,在提取标签的时候,不想提取那么多,那么可以使用`limit`参数。限制提取多少个。

## find与find_all的区别:

- 1. find:找到第一个满足条件的标签就返回。说白了,就是只会返回一个元素。
- 2. find_all:将所有满足条件的标签都返回。说白了,会返回很多标签(以列表的形式)。

## 使用find和find_all的过滤条件:

- 1. 关键字参数:将属性的名字作为关键字参数的名字,以及属性的值作为关键字参数的值进行过滤。
- 2. attrs参数:将属性条件放到一个字典中,传给attrs参数。

## 获取标签的属性:

- 1. 通过下标获取:通过标签的下标的方式。

   ```python
   href = a['href']
   ```

- 2. 通过attrs属性获取:示例代码:

   ```python
   href = a.attrs['href']
   ```

> class标签与python的class关键字重名了,所以在后边加'_'下划线

> 'class'则不存在这个问题

 类似资料: