Item 与 Item Loader:定义抓取字段、数据结构

📂 所属阶段:第二阶段 — 数据流转(数据处理篇)


1. 定义 Item

# items.py
import scrapy

class ProductItem(scrapy.Item):
    title = scrapy.Field()
    price = scrapy.Field()
    url = scrapy.Field()
    image_urls = scrapy.Field()
    description = scrapy.Field()

2. Item Loader

from scrapy.loader import ItemLoader

loader = ItemLoader(item=ProductItem())
loader.add_xpath('title', '//h1/text()')
loader.add_xpath('price', '//span[@class="price"]/text()')
loader.add_value('url', response.url)

item = loader.load_item()

3. 小结

Item = 数据结构
ItemLoader = 数据加载器

好处:
- 规范化数据
- 自动清洗
- 易于维护

💡 记住:定义 Item 就像定义数据库表。规范化数据是工程化爬虫的基础。


🔗 扩展阅读