python爬虫多级页面爬取
时间: 2023-10-09 21:15:27 浏览: 114
Python爬虫可以用于多级页面的爬取,即从一个页面中获取链接,然后再从这些链接中获取更多的链接,依次往下爬取。这种爬取方式通常用于爬取网站的整个数据集。以下是一个示例:
```python
import requests
from bs4 import BeautifulSoup
# 定义爬取函数
def crawl(url):
# 发送请求并获取响应内容
response = requests.get(url)
content = response.content
# 解析响应内容
soup = BeautifulSoup(content, 'html.parser')
# 获取当前页面的数据
# 获取当前页面的链接
links = soup.find_all('a')
# 遍历链接并爬取
for link in links:
href = link.get('href')
if href and href.startswith('http'):
crawl(href)
# 调用爬取函数
crawl('http://example.com')
```
在这个示例中,我们定义了一个名为`crawl`的函数,它接收一个URL参数。该函数首先发送一个GET请求以获取页面内容,然后使用`BeautifulSoup`库解析响应内容。接下来,该函数获取页面上的所有链接,并逐个遍历这些链接以爬取更多的页面。
在实际应用中,我们需要根据具体情况修改代码。例如,我们可能需要添加一些请求头或代理服务器以避免被网站封禁。我们还可以使用多线程或异步IO等技术来提高爬取速度。
阅读全文