Как получить данные с 2 сайтов в один item Scrapy в одном пауке?

Первый паук собирает данные и урлы с одного сайта, второй должен пройти по собранным урлам и дополнить данные в тех же айтемах с другого сайта. Но получается либо сохранить данные первого паука, либо только второго.

 def parse(self, response): 

    l = ItemLoader(item=Product(), response=response)
    l.add_value('product_url', response.url)
    l.add_xpath('category', '//p/a[contains....')
    l.add_xpath('name', '/html/body/...' )
    
    l.add_value('new_link', new_link)

    yield Request(url=new_link, callback=self.parse_steam, meta={'item': l})

def parse_steam(self, response):

    l2 = response.meta['item']
    l2.add_xpath('new_links', '//div[@id="search/@href')

    yield l2.load_item()

Так сохраняет данные только первого. Но если тут l2.add_xpath('new_links', '//div[@id="search/@href') вместо xpath указать значение, то сохраняет все.

Если заменить l2 = response.meta['item'] на l2 = ItemLoader(item=Product(), response=response), то парсит урлы из первого паука, но сохраняет данные только второго.

Как сохранить все данные?


Ответы (0 шт):