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)

项目对象

可以使用以下类指定项目对象,该类从给定参数提供新的初始化项目 -

class scrapy.item.Item([arg])

Item 提供构造函数的副本,并提供由字段中的项目给出的额外属性。

字段对象

可以使用以下类指定字段对象,其中 Field 类不发出附加过程或属性 -

class scrapy.item.Field([arg])