要使用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中是否包含页码参数,并根据需要对其进行处理。