Как сделать так, чтобы парсер на SCRAPY сначала собирал все данные, а уже после их обрабатывал

Мне необходимо собрать данные с сайта, которые находятся на разных страницах и обработать их с помощью pandas. По логике парсера (если я её правильно понял, тк. новичок) он сначала заходит на страницу забирает и потом отправляет нужные мне данные на обработку в pipelines.py, и только после этого переходит на следующую страницу и повторяет все действия. А мне необходимо найти количество уникальных данных(для чего и нужен pandas), т.е. нужно сначала собрать все данные, а потом уже обрабатывать.

Вот примерный код паука:

class ScraperSpider(scrapy.Spider):
    name = 'parser'
    start_urls = links()

    def parse(self, response, **kwargs):
        result_list = ResultItem()
        c = response.xpath('//*[contains(text(), "some_text1")]').getall()
        if len(c) > 0:
            a = response.xpath('//*[contains(text(), "some_text2")]/text()').getall()
            if len(android) == 1:
                result_list['operation_system'] = a[-1]
            elif len(android) == 3:
                result_list['operation_system'] = a[1]
            else:
                result_list['operation_system'] = 'a_text'
        else:
            b = response.xpath('//*[contains(text(), "some_text3")]/text()').getall()
            if len(ios) > 1:
                result_list['operation_system'] = b[1]
            else:
                result_list['operation_system'] = b[0]
            yield result_list

Варианта кода pipelines нет, тк. ничего адекватного для своего варианта не могу придумать.


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