Запуск пользовательского кода после завершения сканирования (scrapy) - PullRequest
0 голосов
/ 16 января 2019

Мне нужно проверить все мои очищенные данные после завершения сканирования (процент доступности некоторых полей и т. Д.). Данные содержатся в CSV-файле, поэтому для тестирования я решил использовать Pandas. Есть ли способ запустить код, который проверяет файл .csv внутри паука scrapy после того, как Scrapy сообщит мне, что сканирование завершено? Я пытался использовать расширения, но не смог заставить его работать. Thx

class Spider(scrapy.Spider):
    name = 'scrapyspider'
    allowed_domains = ['www.example.com']
    start_urls = ['https://www.example.com/1/', 'https://www.example.com/2/']


    def parse(self, response):
        for product_link in response.xpath(
                '//a[@class="product-link"]/@href').extract():
            absolute_url = response.urljoin(product_link)
            yield scrapy.Request(absolute_url, self.parse_product)
        for category_link in response.xpath(
            '//a[@class="navigation-item-link"]/@href').extract():
            absolute_url = response.urljoin(category_link)
            yield scrapy.Request(absolute_url, self.parse)

    def parse_product(self, response):
        ...
        yield item

1 Ответ

0 голосов
/ 17 января 2019

Scrapy предоставляет вам поток для управления элементом в Pipelines

В Pipelines вы можете проверить или применить любую проверку элемента, если она не соответствует вашим критериям или вы хотите обновить данные в зависимости от некоторых значений атрибута, вы можете сделать это там.

Более подробную информацию о Pipelines вы можете прочитать здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...