Scrapy - Excepciones

Descripción

Los eventos irregulares se conocen como excepciones. En Scrapy, las excepciones se generan debido a razones como la falta de configuración, la eliminación de elementos de la canalización de elementos, etc. A continuación se muestra la lista de excepciones mencionadas en Scrapy y su aplicación.

Elemento descartado

Item Pipeline utiliza esta excepción para detener el procesamiento del artículo en cualquier etapa. Puede escribirse como:

exception (scrapy.exceptions.DropItem)

CerrarAraña

Esta excepción se usa para detener la araña usando la solicitud de devolución de llamada. Puede escribirse como:

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

Contiene un parámetro llamado motivo (str) que especifica el motivo del cierre.

Por ejemplo, el siguiente código muestra este uso de excepción:

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

IgnoreRequest

Esta excepción la utiliza el programador o el software intermedio de descarga para ignorar una solicitud. Puede escribirse como:

exception (scrapy.exceptions.IgnoreRequest)

No configurado

Indica una situación de configuración ausente y se debe generar en un constructor de componentes.

exception (scrapy.exceptions.NotConfigured)

Esta excepción se puede generar si alguno de los siguientes componentes está desactivado.

  • Extensions
  • Canalizaciones de artículos
  • Middlewares de descarga
  • Middlewares de araña

No soportado

Esta excepción se genera cuando no se admite alguna función o método. Puede escribirse como:

exception (scrapy.exceptions.NotSupported)