Scrapy - wyjątki

Opis

Nieregularne zdarzenia określane są jako wyjątki. W Scrapy wyjątki są zgłaszane z powodu takich przyczyn jak brak konfiguracji, usunięcie elementu z potoku pozycji itp. Poniżej znajduje się lista wyjątków wymienionych w Scrapy i ich zastosowanie.

DropItem

Potok pozycji wykorzystuje ten wyjątek, aby zatrzymać przetwarzanie elementu na dowolnym etapie. Można go zapisać jako -

exception (scrapy.exceptions.DropItem)

ZamknijSpider

Ten wyjątek służy do zatrzymywania pająka przy użyciu żądania wywołania zwrotnego. Można go zapisać jako -

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

Zawiera parametr o nazwie przyczyna (str), który określa powód zamknięcia.

Na przykład poniższy kod przedstawia użycie tego wyjątku -

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

IgnoreRequest

Ten wyjątek jest używany przez program planujący lub oprogramowanie pośredniczące do pobierania w celu zignorowania żądania. Można go zapisać jako -

exception (scrapy.exceptions.IgnoreRequest)

Nie skonfigurowane

Wskazuje brakującą sytuację konfiguracyjną i powinien zostać podniesiony w konstruktorze składników.

exception (scrapy.exceptions.NotConfigured)

Ten wyjątek można zgłosić, jeśli którykolwiek z poniższych składników jest wyłączony.

  • Extensions
  • Potoki pozycji
  • Oprogramowanie pośredniczące do pobierania
  • Oprogramowanie pośrednie pająka

Niewspierany

Ten wyjątek jest zgłaszany, gdy żadna funkcja lub metoda nie jest obsługiwana. Można go zapisać jako -

exception (scrapy.exceptions.NotSupported)