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

如何通过R自动化操作美国财政部网站批量下载拍卖数据CSV?

R批量获取美国财政部拍卖CSV数据指南

核心思路

别纠结模拟点击按钮,直接抓CSV下载的后台请求就行——网页上的CSV按钮本质是触发了一个带参数的HTTP请求,我们直接构造这个请求循环调用,比模拟浏览器操作高效得多。

步骤1:从开发者工具提取关键信息

打开Chrome开发者工具的「网络」标签,点击CSV按钮后,找到对应的请求:

  • 确认请求方法是POST还是GET
  • 复制请求里的Form Data(提交的参数),里面必须包含:
    • 列选择参数(比如columns=all或者所有列名的集合,对应「显示全部列」)
    • 每页行数参数(比如rowsPerPage=1000,对应设置1000行)
    • 分页参数(比如page=1,循环时改这个值从1到10)

步骤2:用httr构造循环请求

library(httr)
library(readr)

# 替换成你从开发者工具里拿到的CSV请求地址
base_url <- "https://www.treasurydirect.gov/auctions/auction-query/download"

# 基础参数,从Form Data里复制,确保参数名和值完全匹配
base_params <- list(
  columns = "all",          # 显示全部列
  rowsPerPage = "1000",     # 每页1000行
  # 这里补全其他必填参数,比如时间范围、拍卖类型等,从开发者工具里的参数抄
)

# 循环10次下载所有页面
for(page_num in 1:10){
  # 拼接当前页的分页参数
  current_params <- c(base_params, list(page = page_num))
  
  # 发送请求,如果是GET请求就换成GET(),参数用query=current_params
  response <- POST(base_url, body = current_params, encode = "form")
  
  # 检查请求是否成功,失败就报错
  stop_for_status(response)
  
  # 保存CSV文件
  file_name <- paste0("treasury_auctions_page_", page_num, ".csv")
  write_content(content(response, "text"), file_name)
  
  # 打印进度
  cat("已完成第", page_num, "页,文件保存为", file_name, "\n")
  
  # 可选:加1秒延迟,避免请求太频繁被服务器拦截
  Sys.sleep(1)
}

关键注意事项

  • 参数必须精准:要完全匹配开发者工具里的Form Data,包括参数的大小写、格式(比如有的参数是字符串,不能写成数字)
  • 处理反爬:如果遇到403错误,给请求加个浏览器User-Agent头:
    response <- POST(base_url, 
                     body = current_params, 
                     encode = "form",
                     add_headers(`User-Agent` = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"))
    
  • 合并数据:下载完成后可以合并所有CSV文件:
    library(dplyr)
    # 找到所有下载的CSV文件
    csv_files <- list.files(pattern = "^treasury_auctions_page_.*\\.csv$")
    # 合并成一个数据框
    all_auctions <- bind_rows(lapply(csv_files, read_csv))
    # 保存合并后的文件
    write_csv(all_auctions, "treasury_auctions_full_data.csv")
    

内容的提问来源于stack exchange,提问作者rideofyourlife

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 00:41:13