Использование сеанса Requests с учётом прокси в pandas-datareader
Передавайте сеанс Requests с учётом прокси в DataReader, а не меняйте глобальное поведение pandas.
pandas-datareader принимает сеанс Requests для своей работы по HTTP. Например, читатель 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 поставщика или изменённый формат символа может не сработать даже после успешного подключения через прокси; настройка сеанса не восстанавливает удалённую конечную точку данных.