HttpProxyMiddleware は Scrapy 内蔵のダウンローダーデフォルトに含まれます。利用可能にするために、プロジェクト自身の DOWNLOADER_MIDDLEWARES 辞書に記述する必要はありません。

確認すべき制御は 2 つあります。

  • HTTPPROXY_ENABLED は、内蔵コンポーネントを有効にするかどうかを制御します。
  • DOWNLOADER_MIDDLEWARES でそのクラスパスに None を指定すると、マージされたミドルウェアチェーンから削除されます。

たとえば、これはデフォルトのエントリを明示的に無効にします。

DOWNLOADER_MIDDLEWARES = {
    'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware': None,
}

内蔵コンポーネントを戻すべきときは、その上書きを削除してください。1 つのエントリを復元するためだけに、古い DOWNLOADER_MIDDLEWARES_BASE テーブルをプロジェクトにコピーしないでください。Scrapy はデフォルトとプロジェクトの上書きを結合します。

有効なミドルウェアでも、対応する環境値かリクエストのプロキシメタデータからルートが必要です。起動ログに現れること自体は、リクエストの割り当てではありません。

非常に古い Scrapy リリースでは、プロキシ環境値なしでコンポーネントが読み込まれる時期が異なりました。1.3 時代の歴史的な観察を現在の有効化ルールとして扱うのではなく、インストール済みバージョンを診断とともに記録してください。

関連記事