У меня есть паук, который получает данные с родительской страницы (коллекции), затем открывает ссылку и анализирует данные из элемента коллекции. В scrapy.Item я ожидаю получить данные как с родительской, так и с дочерней страниц (заголовок коллекции будет повторяться для каждого элемента коллекции).
class MarSpider(scrapy.Spider):
name = 'mar'
allowed_domains =
start_urls =
def parse(self, response):
COLLECTION_LIST = 'div.wr_collection_list'
collections = response.css(COLLECTION_LIST)
for collection in collections:
loader = ItemLoader(item=FulItem(), selector=collection)
item = loader.load_item()
items_url = collection.css('a ::attr(href)').get()
if items_url: #
yield response.follow(items_url, callback=self.parse_items,
meta={'item': item})
def parse_items(self, response):
ul = response.css('ul.row')
for li in ul.css('li'):
if li.css('span.codice ::text'):
item = response.meta['item']
loader = ItemLoader(item=item, selector=li)
loader.add_xpath('desc_text', './/div/div/text()')
yield loader.load_item()
в этом случае после каждой дочерней записи каждой итерации:
item1 collection1 desc_text_1
item2 collection1 "desc_text_1, desc_text_2"
item3 collection1 "desc_text_1, desc_text_2, desc_text_3"
1013 * что такое проблема Вот. Не могли бы вы показать рабочий пример?