HttpProxyMiddleware входит во встроенные настройки загрузчика Scrapy по умолчанию. Чтобы быть доступным, он не обязан присутствовать в собственном словаре DOWNLOADER_MIDDLEWARES проекта.

Проверить нужно два отдельных элемента управления:

  • HTTPPROXY_ENABLED управляет тем, включён ли встроенный компонент.
  • Значение None для пути его класса в DOWNLOADER_MIDDLEWARES удаляет его из объединённой цепочки промежуточного ПО.

Например, это явно отключает запись по умолчанию:

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

Удалите это переопределение, когда встроенный компонент должен вернуться. Не копируйте старую таблицу DOWNLOADER_MIDDLEWARES_BASE в проект только ради восстановления одной записи; Scrapy объединяет свои значения по умолчанию с переопределениями проекта.

Включённому промежуточному ПО всё равно нужен маршрут — из поддерживаемых переменных среды или из метаданных прокси запроса. Его наличие в журнале запуска само по себе не является назначением запроса.

Очень старые выпуски Scrapy различались тем, когда компонент загружался без переменных среды прокси. Сохраняйте установленную версию вместе с диагностикой, а не считайте историческое наблюдение эпохи 1.3 текущим правилом включения.

Похожие статьи