python爬虫网站代码嵌套多层
时间: 2024-10-08 20:19:03 浏览: 44
03-循环_shuttsp_python爬虫_
Python爬虫处理嵌套多层的数据通常涉及到递归和数据解析技术,比如BeautifulSoup、Scrapy框架或者XPath、CSS选择器等。以下是一个简单的例子,展示如何使用递归来爬取多级嵌套的HTML结构:
```python
import requests
from bs4 import BeautifulSoup
def crawl_page(url, level=0):
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
# 获取当前层级的所有内容
elements = soup.find_all('div', class_='level{}'.format(level))
for element in elements:
print("Level {}: {}".format(level, element.text)) # 打印文本内容
# 如果元素有链接,继续爬取下一层
if 'a' in element.find_all(['a']):
next_url = element.find('a')['href']
crawl_page(next_url, level + 1)
# 起始URL
start_url = 'http://example.com/multilevel-page'
crawl_page(start_url)
```
在这个示例中,我们首先发送GET请求获取页面源码,然后使用BeautifulSoup解析HTML。对于每个`<div>`标签,如果它的class包含`levelX`(代表层级),我们就提取其内容并打印。如果发现有链接,就递归地调用`crawl_page`函数,增加层级深度。
阅读全文