scrapy 两类item_在scrapy中嵌套Item数据的正确方法

评论更新:看起来

nested loaders是更新的方法.另一条评论表明这种方法会在序列化过程中导致错误.

解决这个问题的最佳方法是创建一个main项和一个元项类/加载器.

from scrapy.item import Item, Field

from scrapy.contrib.loader import ItemLoader

from scrapy.contrib.loader.processor import TakeFirst

class MetaItem(Item):

url = Field()

added_on = Field()

class MainItem(Item):

price = Field()

title = Field()

meta = Field(serializer=MetaItem)

class MainItemLoader(ItemLoader):

default_item_class = MainItem

default_output_processor = TakeFirst()

class MetaItemLoader(ItemLoader):

default_item_class = MetaItem

default_output_processor = TakeFirst()

样品用法:

from scrapy.spider import Spider

from qwerty.items import MainItemLoader, MetaItemLoader

from scrapy.selector import Selector

Original: https://blog.csdn.net/weixin_42452460/article/details/113021924
Author: 胡萝卜伞
Title: scrapy 两类item_在scrapy中嵌套Item数据的正确方法

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/790483/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球