Menggunakan sesi Requests yang sadar proxy dengan pandas-datareader
Teruskan sesi Requests yang sadar proxy ke DataReader alih-alih mengubah perilaku global pandas.
pandas-datareader menerima sesi Requests untuk pekerjaan HTTP-nya. Misalnya, pembaca FRED dapat menggunakan sesi yang dikonfigurasi oleh aplikasi:
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 dan end adalah tanggal yang diminta aplikasi. Konteks menutup sesi setelah pembaca selesai. Endpoint HTTP publik yang dipilih dari daftar proxy HTTP dapat menyediakan alamat dalam peta proxy sesi ini.
Integrasi Requests dengan lingkungan tetap aktif dalam contoh ini. Jika aplikasi memerlukan rute eksplisit yang tidak bergantung pada nilai proxy lingkungan, setel session.trust_env=False dan sediakan bundel CA yang diperlukan atau autentikasi turunan .netrc secara terpisah.
Pilih pembaca yang didukung oleh versi pandas-datareader yang terpasang. API penyedia yang dihentikan atau format simbol yang berubah dapat gagal setelah koneksi proxy berhasil; menyetel sesi tidak memulihkan endpoint data yang telah dihapus.