Scrapy - Ausnahmen

Beschreibung

Die unregelmäßigen Ereignisse werden als Ausnahmen bezeichnet. In Scrapy werden Ausnahmen aufgrund von Gründen wie fehlender Konfiguration, Löschen von Elementen aus der Elementpipeline usw. ausgelöst. Nachfolgend finden Sie eine Liste der in Scrapy genannten Ausnahmen und deren Anwendung.

Gegenstand fallen lassen

Item Pipeline verwendet diese Ausnahme, um die Verarbeitung des Elements zu jedem Zeitpunkt zu stoppen. Es kann geschrieben werden als -

exception (scrapy.exceptions.DropItem)

CloseSpider

Diese Ausnahme wird verwendet, um die Spinne mithilfe der Rückrufanforderung zu stoppen. Es kann geschrieben werden als -

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

Es enthält einen Parameter namens reason (str), der den Grund für das Schließen angibt.

Der folgende Code zeigt beispielsweise die Verwendung dieser Ausnahme:

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

IgnoreRequest

Diese Ausnahme wird von der Scheduler- oder Downloader-Middleware verwendet, um eine Anforderung zu ignorieren. Es kann geschrieben werden als -

exception (scrapy.exceptions.IgnoreRequest)

Nicht konfiguriert

Es weist auf eine fehlende Konfigurationssituation hin und sollte in einem Komponentenkonstruktor ausgelöst werden.

exception (scrapy.exceptions.NotConfigured)

Diese Ausnahme kann ausgelöst werden, wenn eine der folgenden Komponenten deaktiviert ist.

  • Extensions
  • Artikel-Pipelines
  • Downloader Middleware
  • Spinnen-Middleware

Nicht unterstützt

Diese Ausnahme wird ausgelöst, wenn eine Funktion oder Methode nicht unterstützt wird. Es kann geschrieben werden als -

exception (scrapy.exceptions.NotSupported)