pandas-datareader와 함께 프록시를 인식하는 Requests 세션 사용
pandas의 전역 동작을 바꾸지 말고 프록시를 인식하는 Requests 세션을 DataReader에 전달하세요.
pandas-datareader는 HTTP 작업에 Requests 세션을 받습니다. 예를 들어 FRED 리더는 애플리케이션이 구성한 세션을 사용할 수 있습니다.
import requests
from pandas_datareader import data as web
with requests.Session() as session:
session.proxies.update({
"http": "http://proxy.example.net:8080",
"https": "http://proxy.example.net:8080",
})
frame = web.DataReader(
"GDP", "fred", start, end, session=session
)
start와 end는 애플리케이션이 요청한 날짜입니다. 컨텍스트는 리더가 끝난 뒤 세션을 닫습니다. HTTP 프록시 목록에서 고른 공개 HTTP 엔드포인트를 이 세션의 프록시 맵 주소로 사용할 수 있습니다.
이 예제에서는 Requests의 환경 통합이 계속 켜져 있습니다. 환경 프록시 값과 무관한 명시적 경로가 필요하면 session.trust_env=False를 설정하고 필요한 CA 번들이나 .netrc에서 가져온 인증을 별도로 제공하세요.
설치된 pandas-datareader 버전이 지원하는 리더를 고르세요. 중단된 공급자 API나 변경된 심볼 형식은 프록시 연결이 성공한 뒤에도 실패할 수 있습니다. 세션을 설정해도 제거된 데이터 엔드포인트가 복구되지는 않습니다.