Scrapy - exceções

Descrição

Os eventos irregulares são referidos como exceções. No Scrapy, as exceções são levantadas devido a motivos como configuração ausente, descarte do item do pipeline de itens, etc. A seguir está a lista de exceções mencionadas no Scrapy e seus aplicativos.

DropItem

O Pipeline de itens utiliza essa exceção para interromper o processamento do item em qualquer estágio. Pode ser escrito como -

exception (scrapy.exceptions.DropItem)

CloseSpider

Essa exceção é usada para parar o spider usando a solicitação de retorno de chamada. Pode ser escrito como -

exception (scrapy.exceptions.CloseSpider)(reason = 'cancelled')

Ele contém o parâmetro chamado reason (str) que especifica o motivo do fechamento.

Por exemplo, o código a seguir mostra esse uso de exceção -

def parse_page(self, response): 
   if 'Bandwidth exceeded' in response.body: 
      raise CloseSpider('bandwidth_exceeded')

IgnoreRequest

Essa exceção é usada pelo agendador ou middleware de downloader para ignorar uma solicitação. Pode ser escrito como -

exception (scrapy.exceptions.IgnoreRequest)

Não configurado

Ele indica uma situação de configuração ausente e deve ser gerado em um construtor de componente.

exception (scrapy.exceptions.NotConfigured)

Essa exceção pode ser gerada, se algum dos componentes a seguir estiver desabilitado.

  • Extensions
  • Pipelines de item
  • Downloader middlewares
  • Middlewares de aranha

Não suportado

Essa exceção é gerada quando qualquer recurso ou método não é compatível. Pode ser escrito como -

exception (scrapy.exceptions.NotSupported)