Usare una sessione Requests compatibile con proxy con pandas-datareader
Passate una sessione Requests compatibile con proxy a DataReader invece di modificare il comportamento globale di pandas.
pandas-datareader accetta una sessione Requests per il suo lavoro HTTP. Ad esempio, un lettore FRED può usare una sessione configurata dall’applicazione:
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 e end sono le date richieste dall’applicazione. Il contesto chiude la sessione quando il lettore ha finito. Un endpoint HTTP pubblico scelto dalla lista di proxy HTTP può fornire l’indirizzo nella mappa dei proxy di questa sessione.
L’integrazione di Requests con l’ambiente resta attiva in questo esempio. Se l’applicazione richiede un percorso esplicito indipendente dai valori di proxy dell’ambiente, impostate session.trust_env=False e fornite separatamente il bundle CA necessario o l’autenticazione derivata da .netrc.
Scegliete un lettore supportato dalla versione installata di pandas-datareader. Un’API di provider dismessa o un formato di simbolo modificato può fallire dopo che la connessione proxy è riuscita; impostare la sessione non ripristina un endpoint dati rimosso.