HTTP-праксі-модуль Scrapy чытае праксі з метаданых запыту:

yield scrapy.Request(
    'https://example.com/',
    callback=self.parse,
    meta={'proxy': 'http://203.0.113.10:8080'},
)

Замяніце канчатковы пункт з дакументацыі і пакіньце модуль уключаным. Спіс HTTP-праксі прапануе публічныя кандыдаты для URL гэтага запыту. Гэта выбірае маршрут запыту; пулу праксі патрэбна асобная логіка выбару.

Аўтэнтыфікацыя ідзе за выбраным канчатковым пунктам

Убудаваны модуль апрацоўвае ўліковыя даныя, перададзеныя праз падтрымліваемы URL праксі і адпаведны загаловак аўтарызацыі. Экрануйце зарэзерваваныя сімвалы URL і не запісвайце гэты URL у журнал.

Асобны модуль не павінен захоўваць загаловак Basic для папярэдняга праксі пасля змены канчатковага пункта. Няхай адзін узровень кіруе маршрутам і яго ўліковымі данымі разам.

Парадак выбару і значэнні па змаўчанні

Калі ўласны модуль загрузкі выбірае праксі, запусціце яго да таго, як убудаваны праксі-модуль апрацуе запыт. Праверце парадак і API ўсталяванага выпуску; састарэлыя імпарты scrapy.contrib адносяцца да старэйшых выпускаў.

Асяроддзе працэсу таксама можа даваць значэнні па змаўчанні для пэўных схем. Для наўмыснага прамога запыту выкарыстоўвайце дакументаваныя спецыяльныя паводзіны метаданых proxy: адсутнасць ключа не абавязкова азначае прамы доступ.

Праверце фактычны вынік. Памылка 407 датычыцца аўтэнтыфікацыі праксі, а абмежаванне частаты сайта або адмова ў доступе могуць прыйсці пасля таго, як маршрут адпрацаваў слушна.

Падобныя артыкулы