Scrapy의 HTTP 프록시 미들웨어로 요청별 프록시 사용하기
오래된 사용자 정의 인증 미들웨어를 크롤러에 복사하기 전에 Scrapy 요청 메타데이터와 프록시 미들웨어를 사용하세요.
Scrapy의 HTTP 프록시 미들웨어는 요청 메타데이터에서 프록시를 읽습니다:
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은 프록시 인증에 관한 것이며, 웹사이트의 속도 제한이나 액세스 거부는 경로가 올바르게 작동한 뒤에 올 수 있습니다.