评论更新:看起来
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/
转载文章受原作者版权保护。转载请注明原作者出处!