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)