2017-04-09 1 views
-1

私はscrapyを使用しており、リダイレクトなしで403応答を取得しています。私はこれが起こったときに何か違うことをしたい、どのミドルウェアを使うべきか?つまり、ダウンローダミドルウェアにカスタムビヘイビアを追加したいということです。ダウンローダスタックの既存の部分をサブクラス化するか、カスタムスタックを実装する必要がありますか?403レスポンスをキャプチャして処理するためにどのようなミドルウェアを使用する必要がありますか?

答えて

0

あなたはDownloaderのミドルウェアprocess_response方法を使用することができます

class Process403: 
    def process_response(self, request, response, spider): 
     # if not 403, do nothing 
     if response.status != 403: 
      return response 
     # otherwise do something here 

scrapy documentation for more infoを参照してください:

process_response()する必要があり、次のいずれか、Responseオブジェクトを返すRequestオブジェクトを返すか、IgnoreRequest例外を上げます。

関連する問題