2つの設定で Scrapy のプロキシミドルウェアを無効にできる
Scrapy 内蔵のプロキシミドルウェアをさらにコピーして追加する前に、マージされたダウンローダーミドルウェア一覧と HTTPPROXY_ENABLED を確認してください。
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 時代の歴史的な観察を現在の有効化ルールとして扱うのではなく、インストール済みバージョンを診断とともに記録してください。