#实战项目一:垂直电商全站抓取
📂 所属阶段:第四阶段 — 实战演练(项目开发篇)
#1. 项目架构
电商网站
├── 分类页面(多级分类)
├── 商品列表页(翻页)
└── 商品详情页(数据提取)#2. 爬虫实现
import scrapy
class EcommerceSpider(scrapy.Spider):
name = 'ecommerce'
start_urls = ['http://example.com/categories']
def parse(self, response):
# 提取分类链接
for category in response.css('a.category'):
url = category.css('::attr(href)').get()
yield scrapy.Request(url, callback=self.parse_category)
def parse_category(self, response):
# 提取商品链接
for product in response.css('div.product'):
url = product.css('a::attr(href)').get()
yield scrapy.Request(url, callback=self.parse_product)
# 翻页
next_page = response.css('a.next::attr(href)').get()
if next_page:
yield scrapy.Request(
response.urljoin(next_page),
callback=self.parse_category
)
def parse_product(self, response):
yield {
'title': response.css('h1::text').get(),
'price': response.css('span.price::text').get(),
'description': response.css('div.description::text').get(),
}#3. 小结
电商爬虫关键点:
1. 多级分类:递归爬取
2. 翻页:循环处理
3. 数据提取:精准选择器
4. 去重:避免重复爬取💡 记住:电商爬虫是最常见的应用。掌握它,你就掌握了 80% 的爬虫场景。
🔗 扩展阅读

