Scrapy - 项目
描述
Scrapy 流程可用于使用蜘蛛从网页等来源提取数据。Scrapy 使用 Item 类来生成输出,其对象用于收集抓取的数据。
声明项目
您可以使用类定义语法以及如下所示的字段对象来声明项目 −
import scrapy class MyProducts(scrapy.Item): productName = Field() productLink = Field() imageURL = Field() price = Field() size = Field()
项目字段
项目字段用于显示每个字段的元数据。由于字段对象的值没有限制,可访问的元数据键不包含任何元数据的引用列表。字段对象用于指定所有字段元数据,您可以根据项目中的要求指定任何其他字段键。可以使用 Item.fields 属性访问字段对象。
使用项目
在使用项目时,可以定义一些常用函数。有关更多信息,请单击此链接。
扩展项目
可以通过声明原始项目的子类来扩展项目。例如 −
class MyProductDetails(Product): original_rate = scrapy.Field(serializer = str) discount_rate = scrapy.Field()
您可以使用现有的字段元数据来扩展字段元数据,方法是添加更多值或更改现有值,如以下代码所示 −
class MyProductPackage(Product): name = scrapy.Field(Product.fields['name'], serializer = serializer_demo)
Item 对象
可以使用以下类指定 item 对象,该类从给定的参数提供新的初始化 item −
class scrapy.item.Item([arg])
Item 提供构造函数的副本,并提供由字段中的项提供的额外属性。
Field 对象
可以使用以下类指定字段对象,其中 Field 类不发出额外的流程或属性 −
class scrapy.item.Field([arg])