beautifulsoup的fin_dall用法
时间: 2024-03-06 08:51:28 浏览: 60
BeautifulSoup中的`find_all()`方法是用来查找文档中所有满足条件的标签的。其用法如下:
```python
find_all(name, attrs, recursive, text, limit, **kwargs)
```
其中,参数含义如下:
- `name`:查找指定的标签名称或标签列表,可以是字符串、正则表达式、列表、True或False。
- `attrs`:查找指定的标签属性,可以是字典或关键字参数。
- `recursive`:指定是否查找子孙节点,默认为True。
- `text`:查找指定的标签文本内容,可以是字符串、正则表达式或列表。
- `limit`:限制返回结果的数量,可以是整数或None。
- `**kwargs`:其他的关键字参数,用于查找指定的标签属性。
例如,查找所有的`<div>`标签:
```python
from bs4 import BeautifulSoup
html = """
<div class="item"><h2>title1</h2><p>content1</p></div>
<div class="item"><h2>title2</h2><p>content2</p></div>
<div class="item"><h2>title3</h2><p>content3</p></div>
"""
soup = BeautifulSoup(html, 'html.parser')
items = soup.find_all('div')
print(items)
```
输出结果为:
```
[<div class="item"><h2>title1</h2><p>content1</p></div>, <div class="item"><h2>title2</h2><p>content2</p></div>, <div class="item"><h2>title3</h2><p>content3</p></div>]
```
另外,`find_all()`方法还可以通过`attrs`参数查找指定的标签属性,例如,查找所有`<div>`标签中`class`属性为`item`的标签:
```python
items = soup.find_all('div', attrs={'class': 'item'})
print(items)
```
输出结果为:
```
[<div class="item"><h2>title1</h2><p>content1</p></div>, <div class="item"><h2>title2</h2><p>content2</p></div>, <div class="item"><h2>title3</h2><p>content3</p></div>]
```
需要注意的是,`find_all()`方法返回的结果是一个列表,如果需要获取单个标签,则可以使用`find()`方法。
阅读全文