项字段的序列化¶默认情况下,字段值是未修改地传递给基础序列化库的,如何序列化字段值的决定被委托给每个特定的序列化库。 但是,您可以自定义每个字段值的序列化方式。 在传递到序列化库之前 . 有两种方法可以自定义字段序列化的方式,下面将介绍这两种方法。 1。在字段中声明序列化程序¶如果您使用 例子:: import scrapy
def serialize_price(value):
return f'$ {str(value)}'
class Product(scrapy.Item):
name = scrapy.Field()
price = scrapy.Field(serializer=serialize_price)
2。重写serialize_field()方法¶您还可以覆盖 确保调用基类 例子:: from scrapy.exporter import XmlItemExporter
class ProductXmlExporter(XmlItemExporter):
def serialize_field(self, field, name, value):
if name == 'price':
return f'$ {str(value)}'
return super().serialize_field(field, name, value) |
Archiver|手机版|笨鸟自学网 ( 粤ICP备20019910号 )
GMT+8, 2024-9-8 09:50 , Processed in 0.025352 second(s), 17 queries .