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 或变更的代码格式即使在代理连接成功后也可能失败;设置会话并不能恢复已被移除的数据端点。

相关文章