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)