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])
项目提供一个构造函数的副本,并提供一个额外的属性,该属性由字段中的项目给出。
字段对象
字段对象可以使用以下类来指定,其中字段类不发出额外的过程或属性 −
class scrapy.item.Field([arg])