Field Item

Item 和 Field

scrapy 提供了item和field两个两个类,用户可以使用这两个类来自定义自己的数据类型来封装和保存结构数据。

创建自定义数据类型

自定义数据一个数据类只需要继承,item类,并且创建一系类Field类的实例对象为类属性即可。

form scrapy import Item,Field

class BookItem(Item):
	name = Field()
	price = Field()

创建BookItem实例

>>> book = BookItem(name='Needful Tings',price = '45.0')
>>> book
{name='Needful Tings',price = '45.0'}

item 支持字典接口,因此BookItem在使用上和python字典类似。创建实例,对实例增删改查与字典类似。

拓展Item子类

在对已有的数据类BookItem进行拓展的时候,可以继承BookItem定义一个新的类,并在其中添加你需要的字段
例如想要添加一个图书翻译者的信息

class NewBookItem(BookItem):
	translator = Field()

Item字段(Item Fields)

Field 对象指明了每个字段的元数据(metadata)。

您可以为每个字段指明任何类型的元数据。 Field 对象对接受的值没有任何限制。也正是因为这个原因,文档也无法提供所有可用的元数据的键(key)参考列表。 Field 对象中保存的每个键可以由多个组件使用,并且只有这些组件知道这个键的存在。您可以根据自己的需求,定义使用其他的Field 键。 设置 Field 对象的主要目的就是在一个地方定义好所有的元数据。 一般来说,那些依赖某个字段的组件肯定使用了特定的键(key)。您必须查看组件相关的文档,查看其用了哪些元数据键(metadata key)。

需要注意的是,用来声明item的 Field 对象并没有被赋值为class的属性。 不过您可以通过Item.fields 属性进行访问。

字段(Field)对象

实际上Field是python 字典的一个子类,并没有提供额外的方法或者属性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值