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