要使用Python爬虫爬取多页,您可以使用第三方库requests和BeautifulSoup。以下是一个简单的示例,说明如何爬取一个具有多个页面的网站。
首先,确保您已经安装了requests和beautifulsoup4库。如果尚未安装,请使用以下命令进行安装:
pip install requests beautifulsoup4
接下来,创建一个名为web_scraper.py
的Python文件,并在其中编写以下代码:
import requests
from bs4 import BeautifulSoup
def get_page_content(url):
response = requests.get(url)
if response.status_code == 200:
return response.text
else:
print(f"Error {response.status_code}: Unable to fetch the page")
return None
def parse_page(html):
soup = BeautifulSoup(html, "html.parser")
# 根据网站的HTML结构提取所需数据
# 例如,提取所有链接
links = soup.find_all("a")
for link in links:
print(link.get("href"))
def main():
base_url = "https://example.com/page" # 更改为要爬取的网站的URL
start_page = 1
end_page = 10 # 设置要爬取的页数范围
for page in range(start_page, end_page + 1):
url = f"{base_url}{page}.html"
html = get_page_content(url)
if html:
parse_page(html)
else:
break
if __name__ == "__main__":
main()
在上面的代码中,我们定义了三个函数:
get_page_content(url)
:接收一个URL作为参数,使用requests库获取页面内容并返回。parse_page(html)
:接收一个HTML字符串作为参数,使用BeautifulSoup解析HTML并提取所需数据。在这个例子中,我们提取了所有链接。main()
:设置要爬取的网站的URL、起始页和结束页,然后遍历这些页面,对每个页面调用get_page_content()
和parse_page()
函数。请注意,您需要根据要爬取的网站的实际HTML结构修改parse_page()
函数中的代码。此外,如果网站有分页,您可能需要检查URL中是否包含页码参数,并根据需要对其进行处理。