В Scrapy shell создайте запрос, который должен выполнить загрузчик:

from scrapy import Request

fetch(Request(
    "https://www.example.com/",
    meta={"proxy": "http://proxy.example:8080"},
))
response.status

HttpProxyMiddleware читает значение прокси из метаданных этого Request. Он должен быть включён в конфигурации активного middleware загрузчика. Переменная response после этого принадлежит данному запросу. Для этого публичного URL выберите адрес HTTP без аутентификации из списка HTTP-прокси, если публичные посредники разрешены, затем поместите его URL в метаданные прокси этого запроса.

Запуск оболочки из проекта Scrapy позволяет ей загрузить конфигурацию этого проекта. Это выбирает middleware и другие настройки; сама она не выбирает конкретную конечную точку прокси. Метаданные запроса выше предоставляют этот выбор напрямую.

Для прокси с учётными данными Basic Scrapy документирует информацию пользователя в URL прокси. Закодируйте зарезервированные символы в компонентах учётной записи перед его созданием. Добавлять заголовок Authorization сайта для этой учётной записи не требуется.

Scrapy также может обнаруживать прокси из поддерживаемых переменных среды. Явные метаданные прокси запроса имеют приоритет. Для намеренно прямого запроса значение прокси None отключает выбор этого middleware на основе среды для запроса.

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