Scrapy-exceptions

提供:Dev Guides
移動先:案内検索

スクレイピー-例外

説明

不規則なイベントは例外と呼ばれます。 Scrapyでは、構成の欠落、アイテムパイプラインからのアイテムのドロップなどの理由により例外が発生します。 以下は、Scrapyとそのアプリケーションで言及されている例外のリストです。

アイテムを落とす

アイテムパイプラインはこの例外を利用して、どの段階でもアイテムの処理を停止します。 それは次のように書くことができます-

exception (scrapy.exceptions.DropItem)

スパイダー

この例外は、コールバック要求を使用してスパイダーを停止するために使用されます。 それは次のように書くことができます-

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

_reason(str)_と呼ばれるパラメーターが含まれており、閉じる理由を指定します。

たとえば、次のコードはこの例外の使用法を示しています-

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

IgnoreRequest

この例外は、スケジューラまたはダウンローダーミドルウェアが要求を無視するために使用されます。 それは次のように書くことができます-

exception (scrapy.exceptions.IgnoreRequest)

未構成

構成が欠落していることを示しており、コンポーネントコンストラクターで発生する必要があります。

exception (scrapy.exceptions.NotConfigured)

次のコンポーネントのいずれかが無効になっている場合、この例外が発生する可能性があります。

  • 拡張機能
  • アイテムパイプライン
  • ダウンローダーミドルウェア
  • スパイダーミドルウェア

サポートされていません

この例外は、機能またはメソッドがサポートされていない場合に発生します。 それは次のように書くことができます-

exception (scrapy.exceptions.NotSupported)