1. 爬虫开发中的两段式采集模式解析
在真实爬虫项目中,约90%的案例都采用"列表页→详情页"的两段式采集架构。这种模式完美契合了现代网站的内容组织形式——列表页提供条目索引,详情页承载完整内容。以电商平台为例,商品列表页通常只展示价格、标题和缩略图等基础信息,而商品详情页则包含规格参数、用户评价等深度数据。
两段式采集的核心优势在于:
- 资源利用率高:先轻量级抓取列表页获取URL集合,再针对性爬取详情页
- 容错性强:单个详情页采集失败不影响整体任务
- 结构清晰:符合人类浏览习惯,代码可维护性好
重要提示:实际开发中务必遵守robots.txt协议,控制请求频率(建议间隔2秒以上),避免对目标服务器造成负担。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 列表页解析与URL提取实战
2.1 列表页结构分析技巧
使用Chrome开发者工具(F12)观察目标网站:
python复制import requests
from bs4 import BeautifulSoup
url = "https://example.com/products"
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
常见列表元素定位方式:
- CSS选择器:
soup.select('div.product-item > a') - XPath:
//div[@class="product-list"]/a/@href(需lxml库支持) - 正则表达式:适合处理JavaScript动态生成的URL
2.2 URL规范化处理
采集到的URL往往需要补全处理:
python复制from urllib.parse import urljoin
base_url = "https://example.com"
relative_urls = [a['href'] for a in soup.select('a.product-lin
