如何实现多页信息爬取?URL分页与链接数组构建
多页爬取iPhone13手机壳图片的实现方案
核心思路
- 按照已知的分页规则,循环遍历1-4页,构造对应页面的URL
- 将每一页爬取到的图片链接统一存入一个数组(列表)中
修改后的完整代码
from bs4 import BeautifulSoup import requests # 基础URL base_url = 'https://hitechfix.com/product-category/cases/apple-cases/iphone-cases/iphone-13-6-1-cases/' # 初始化存储图片链接的列表 image_urls = [] # 遍历1到4页 for page_num in range(1, 5): # 构造分页URL:第1页用基础URL,其他页拼接/page/页码/ if page_num == 1: current_url = base_url else: current_url = f"{base_url}page/{page_num}/" # 发送请求并解析页面 r = requests.get(current_url) soup = BeautifulSoup(r.text, 'html.parser') # 找到所有目标图片标签,提取src属性 img_tags = soup.findAll('img', {"class":"attachment-woocommerce_thumbnail size-woocommerce_thumbnail"}) for img in img_tags: # 提取图片链接,加入列表 img_src = img.get('src') if img_src: # 避免空链接 image_urls.append(img_src) # 查看爬取结果 print(f"共爬取到 {len(image_urls)} 张图片链接") print(image_urls[:5]) # 打印前5个链接示例
关键说明
- 分页URL构造:用
range(1,5)生成1-4的页码,第1页直接使用原URL,其余页面按规则拼接/page/{page_num}/后缀 - 图片链接收集:每解析完一页,遍历找到的img标签,用
get('src')提取图片的实际链接,存入image_urls列表统一管理 - 容错处理:加入
if img_src:判断,避免将无效的空链接加入列表
内容的提问来源于stack exchange,提问作者allenmor
相关产品推荐
相关产品推荐

