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)