Używanie sesji Requests obsługującej proxy z pandas-datareader
Przekaż sesję Requests obsługującą proxy do DataReader, zamiast zmieniać globalne zachowanie pandas.
pandas-datareader przyjmuje sesję Requests do swojej pracy przez HTTP. Na przykład czytnik FRED może użyć sesji skonfigurowanej przez aplikację:
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 i end to daty żądane przez aplikację. Kontekst zamyka sesję po zakończeniu pracy czytnika. Publiczny punkt końcowy HTTP wybrany z listy proxy HTTP może dostarczyć adres w mapie proxy tej sesji.
Integracja Requests ze środowiskiem pozostaje w tym przykładzie włączona. Jeśli aplikacja wymaga jawnej trasy niezależnej od wartości proxy ze środowiska, ustaw session.trust_env=False i osobno dostarcz wymagany pakiet CA lub uwierzytelnianie pochodzące z .netrc.
Wybierz czytnik obsługiwany przez zainstalowaną wersję pandas-datareader. Wycofane API dostawcy lub zmieniony format symbolu może zawieść nawet po udanym połączeniu przez proxy; ustawienie sesji nie przywraca usuniętego punktu końcowego danych.