Scrapy - Eccezioni

Descrizione

Gli eventi irregolari sono indicati come eccezioni. In Scrapy, le eccezioni vengono sollevate per motivi quali la configurazione mancante, l'eliminazione di un elemento dalla pipeline degli elementi, ecc. Di seguito è riportato l'elenco delle eccezioni menzionate in Scrapy e la loro applicazione.

Lasciare oggetto

Item Pipeline utilizza questa eccezione per interrompere l'elaborazione dell'articolo in qualsiasi fase. Può essere scritto come -

exception (scrapy.exceptions.DropItem)

CloseSpider

Questa eccezione viene utilizzata per arrestare lo spider utilizzando la richiesta di richiamata. Può essere scritto come -

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

Contiene il parametro chiamato reason (str) che specifica il motivo della chiusura.

Ad esempio, il codice seguente mostra l'utilizzo di questa eccezione:

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

IgnoreRequest

Questa eccezione viene utilizzata dallo scheduler o dal middleware del downloader per ignorare una richiesta. Può essere scritto come -

exception (scrapy.exceptions.IgnoreRequest)

Non configurato

Indica una situazione di configurazione mancante e dovrebbe essere generato in un costruttore di componenti.

exception (scrapy.exceptions.NotConfigured)

Questa eccezione può essere sollevata se uno dei seguenti componenti è disabilitato.

  • Extensions
  • Pipeline di articoli
  • Middleware del downloader
  • Middleware Spider

Non supportato

Questa eccezione viene sollevata quando una qualsiasi funzione o metodo non è supportato. Può essere scritto come -

exception (scrapy.exceptions.NotSupported)