使用BeautifulSoup进行网页爬取时,如果要爬取多个页面并且URL不变,可以使用循环来迭代处理每个页面。
以下是一个示例代码,演示如何使用BeautifulSoup爬取多个页面:
import requests
from bs4 import BeautifulSoup
# 定义要爬取的多个页面的URL列表
urls = ["https://example.com/page1",
"https://example.com/page2",
"https://example.com/page3"]
# 创建一个空列表,用于存储爬取的数据
data_list = []
# 循环迭代处理每个页面
for url in urls:
# 发送HTTP请求并获取页面内容
response = requests.get(url)
content = response.text
# 使用BeautifulSoup解析页面内容
soup = BeautifulSoup(content, "html.parser")
# 在这里可以根据页面结构使用find/find_all等方法提取需要的数据
# 这里只是简单地将整个页面内容添加到data_list中
data_list.append(soup.prettify())
# 打印爬取的数据列表
for data in data_list:
print(data)
在上述示例代码中,我们定义了一个URL列表,其中包含要爬取的多个页面的URL。然后,使用循环迭代处理每个URL,发送HTTP请求并获取页面内容。接下来,使用BeautifulSoup解析页面内容,并根据需要提取所需的数据。在这个示例中,我们仅将整个页面内容添加到一个列表中。最后,我们遍历打印爬取的数据列表。
通过这种方式,您可以使用BeautifulSoup爬取多个页面,并且URL不变。您可以根据需要调整代码来提取您所需的具体数据。