You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python的requests.get()下载无直接链接的目标CSV文件

用Python Requests下载ANBIMA页面CSV的解决方案
  • 从Chrome Network面板提取API请求细节
    按F12打开开发者工具切换到Network标签,刷新页面或点击下载按钮,找到对应CSV的请求:

    • 复制API接口的完整URL(注意是接口地址,不是页面本身的URL)
    • 查看Request Headers,抄下User-Agent、Referer这类关键字段,很多API会校验这些信息
    • 点开Params标签,把所有参数(比如日期、筛选条件)整理成键值对字典
  • 用Requests构造下载代码
    将提取到的信息填入请求中,示例代码如下:

    import requests
    
    # 替换为你抓到的真实API地址
    api_url = "https://data.anbima.com.br/api/certificado-de-recebiveis/precos"
    # 替换为你从Params里获取的所有参数
    request_params = {
        "data_referencia": "2024-05-20",
        "tipo_ativo": "CRI",
        # 其他参数按需补充
    }
    # 替换为你抓到的请求头,至少保留User-Agent和Referer
    request_headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36",
        "Referer": "https://data.anbima.com.br/certificado-de-recebiveis?view=precos"
    }
    
    # 发起请求并保存文件
    res = requests.get(api_url, params=request_params, headers=request_headers)
    if res.status_code == 200:
        with open("anbima_precos.csv", "wb") as file:
            file.write(res.content)
        print("CSV文件已保存")
    else:
        print(f"请求失败,状态码:{res.status_code}")
    
  • 额外注意事项

    • 如果页面需要登录才能下载,需先模拟登录获取Cookie,将Cookie传入requests.get的cookies参数中
    • 网站可能会更新API的参数或头信息,若下载突然失效,回到Network面板重新提取最新请求数据即可
    • 若遇到动态生成的参数(如签名、时间戳),实在无法解析时,可改用selenium模拟浏览器点击下载作为备选方案

内容的提问来源于stack exchange,提问作者João Tanuri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 22:47:34