ミドルウェアは1つのリクエストを受け取り、2つの異なるリクエストのジェネレータに変換します。私が知る限り、ダウンローダーのミドルウェアprocess_request()
メソッドは、それらのジェネレータではなく、単一のリクエストを返すことができます。任意のリクエストを複数のリクエストに分割する良い方法はありますか?シングルリクエストを複数のリクエストに置き換えるためのスキルミドルウェア
クモのミドルウェアprocess_start_requests
が実際にダウンローダを介して送信されている後start_requests
要求を発生したようです。例えば、場合、私は、それがConnectionRefusedError
で失敗しますstart_urls = ['https://localhost/']
と
def process_start_requests(self, start_requests, spider):
yield Request('https://stackoverflow.com')
を設定してみましたとlocalhost
要求に失敗しました。
エラーを再現できません。スパイダーミドルウェアで 'process_start_requests'を定義し、' scrapy.Request( 'http://www.stackoverflow.com')が私のために働きます –
@paultrmbrthそうです。それは私の問題の原因ではありませんでした。 [この質問](https://stackoverflow.com/questions/45026532/async-query-database-for-keys-to-use-in-multiple-requests)私の苦境をより良く説明します。 – Hatshepsut