scrapy可以一次性返回多个不同的item给pipeline处理吗?

def parse(self, response):
    '''
    item1 = AItem()
    item2 = BItem()
    # 怎么返回两个不同的item给Pipeline?
    # 除去再建一个CItem来包含AItem和BItem
    # item3 = CItem()
    # item3['a'] = item1
    # item3['b'] = item2
    # return item3
阅读 11.3k
2 个回答

在 items.py 建立不同的item 类

items.py

from scrapy import Item, Field

class Item1(Item):
    pass

class Item2(Item):
    pass

custom_spider.py

from scray.spider import BaseSpider
from custom_spider.items import Item1, Item2

class Spider(BaseSpider):
    
    def __init__(self):
        pass
    
    def parse(self):
        item_a = Item1()
        item_b = Item2()
             
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进