不管是第几页,浏览器地址栏都是不变的,所以每次爬虫只能爬取第一页数据,怎么爬取第二页数据?
时间: 2024-03-31 07:32:49 浏览: 81
要爬取不同页数的数据,可以通过修改请求的 URL 中的参数来实现。通常,网页的分页参数会以 query string 的形式出现在 URL 中,例如:
```
https://www.example.com/page?page=1
```
其中,page=1 就是分页参数,表示请求第一页的数据。要请求第二页的数据,只需要将分页参数修改为 page=2,即:
```
https://www.example.com/page?page=2
```
因此,可以编写一个循环,不断修改分页参数,发送多个 HTTP 请求,获取不同页数的数据。例如,以下代码可以爬取前 5 页的数据:
```python
import requests
from bs4 import BeautifulSoup
base_url = 'https://www.example.com/page?page={}'
for page in range(1, 6):
# 构造请求 URL
url = base_url.format(page)
# 发送 HTTP 请求获取 HTML 内容
response = requests.get(url)
html = response.content
# 使用 BeautifulSoup 解析 HTML
soup = BeautifulSoup(html, 'html.parser')
# 提取数据
# ...
# 处理数据
# ...
```
需要注意的是,不同网站的分页参数可能不同,需要根据实际情况进行修改。此外,一些网站可能会设置反爬虫机制,需要注意不要频繁发送请求,以免被封禁 IP。
阅读全文