【Scrapyフレームワーク】「バージョン2.4.0ソースコード」例外操作(例外)詳細章

すべてのソースコード分析記事インデックスディレクトリポータル

[Scrapy Framework]バージョン2.4.0ソースコード:すべての構成ディレクトリインデックス

前書き

これは、Scrapyに含まれるすべての例外とその使用法のリストです。

日常の異常動作

クモを閉じる

例外scrapy.exceptions.CloseSpider(reason = 'cancelled')

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

クモを閉じないでください

例外scrapy.exceptions.DontCloseSpider

この例外は、スパイダーウェブが閉じられないようにするためにspider_idleシグナルハンドラーで発生する可能性があります。

アイテムを放棄する

例外scrapy.exceptions.DropItem

アイテムのパイプラインフェーズでは、アイテムの処理を停止するために例外を発生させる必要があります。

リクエストを無視する

例外scrapy.exceptions.IgnoreRequest

スケジューラーまたはダウンローダーミドルウェアは、この例外を発生させて、要求を無視する必要があることを示すことができます。

構成されていません

例外scrapy.exceptions.NotConfigured

特定のコンポーネントは、この例外を発生させて、無効のままであることを示すことができます。これらのコンポーネントには次のものが含まれます

  1. 拡張機能
  2. アイテムパイプライン
  3. ダウンローダーミドルウェア
  4. スパイダーミドルウェア

サポートしません

例外scrapy.exceptions.NotSupported

この例外は、サポートされていない機能を示すために発生します。

ダウンロードを停止する

例外scrapy.exceptions.StopDownload(fail = True)

bytes_receivedシグナルハンドラから送信され、応答としてこれ以上バイトをダウンロードしないことを示します。

  1. fail = True(デフォルト)の場合、リクエストerrbackを呼び出します。応答オブジェクトは例外の応答属性として使用でき、StopDownload例外はFailureオブジェクトを受け取る値の属性として格納されます。これは、として定義されたerrbackで、応答にアクセスできることを意味します。
def errback(self, failure):
	failure.value.response
  1. fail = Falseの場合、リクエストコールバックを呼び出します。

おすすめ

転載: blog.csdn.net/qq_20288327/article/details/113523437