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])

下一章:Scrapy Item Loaders

项目装载机提供了一种方便的方式来填充从网站上抓取的项目。声明项目加载器Item Loaders 的声明就像 Items。例如:from scrapy.loader import ItemLoaderf ...