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)