python写爬虫获取多层div怎么爬取
时间: 2023-07-04 09:29:59 浏览: 146
要获取多层 div 元素,可以使用 Python 中的 Beautiful Soup 库。以下是一个简单示例:
假设我们要爬取的网页 HTML 如下:
```html
<div class="outer">
<div class="inner">
<div class="target">
<p>要获取的内容</p>
</div>
</div>
</div>
```
我们可以使用 Beautiful Soup 库来获取 `class="target"` 的 div:
```python
import requests
from bs4 import BeautifulSoup
url = 'https://example.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
target_div = soup.find('div', {'class': 'outer'}).find('div', {'class': 'inner'}).find('div', {'class': 'target'})
print(target_div.p.text)
```
在上面的代码中,我们首先使用 requests 库获取网页的 HTML 内容,然后使用 Beautiful Soup 解析 HTML。接着,我们使用 find() 方法依次获取 `class="outer"`、`class="inner"` 和 `class="target"` 的 div 元素,并将结果保存在 target_div 变量中。最后,我们通过 `target_div.p.text` 获取 `class="target"` 的 div 中的文本内容。
需要注意的是,如果某一层的 div 元素不存在,那么 find() 方法会返回 None,因此需要对返回值进行判断。