Scrapy項目(Items)

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 對象可以通過使用以下類,它從指定的參數提供新的初始化項目:

class scrapy.item.Item([arg]) 

Item 提供了一個構造函數的副本,並由在 fields 中的項目提供額外的屬性。 

字段對象

字段對象可以通過使用下面類中的Field類,不發出附加處理或屬性來指定:

class scrapy.item.Field([arg])