Scrapy shell에서 한 번의 가져오기를 위한 프록시
Scrapy shell 내부에서 Request의 프록시 메타데이터를 사용하고 해당 구성된 요청의 응답을 검사합니다.
Scrapy shell 내부에서 다운로더가 수행하기를 원하는 요청을 구성합니다:
from scrapy import Request
fetch(Request(
"https://www.example.com/",
meta={"proxy": "http://proxy.example:8080"},
))
response.status
HttpProxyMiddleware는 해당 Request의 메타데이터에서 프록시 값을 읽습니다. 이는 활성 다운로더 미들웨어 구성에서 활성화되어 있어야 합니다. 이후의 response 변수는 이 가져오기에 속합니다. 이 공개 URL의 경우 공개 중개자가 허용되면 HTTP 프록시 목록에서 인증 없는 HTTP 주소를 선택한 다음 그 URL을 해당 요청의 프록시 메타데이터에 넣습니다.
Scrapy 프로젝트에서 shell을 시작하면 해당 프로젝트의 구성을 로드할 수 있습니다. 이는 미들웨어와 기타 설정을 선택하지만 특정 프록시 엔드포인트 자체를 선택하지는 않습니다. 위의 요청 메타데이터가 그 선택을 직접 제공합니다.
Basic 자격 증명을 사용하는 프록시의 경우 Scrapy는 프록시 URL에 사용자 정보를 기록합니다. 구성하기 전에 계정 구성 요소의 예약 문자를 인코딩하십시오. 해당 계정에 대해 웹사이트 Authorization 헤더를 추가할 필요는 없습니다.
Scrapy는 지원되는 환경 변수에서도 프록시를 검색할 수 있습니다. 요청의 명시적 프록시 메타데이터가 우선합니다. 의도적으로 직접 연결하는 요청의 경우 프록시 값 None은 해당 미들웨어의 환경 기반 선택을 요청에 대해 비활성화합니다.