首页 > 解决方案 > 通过 HTML 表单下载 CSV 格式的文件

问题描述

我正在努力从 Alberta Electric System Operator 站点(AESO 站点)下载 csv 数据。通过填写表格然后单击“确定”单选按钮来访问数据。

这是我正在运行的代码。

library(rvest)
library(stringi)
library(tidyverse)

get_metered_volumes_report <- function(start_date, end_date) {

  start_date <- as.Date(start_date)
  end_date <- as.Date(end_date)

  GET(
    url = "http://ets.aeso.ca/ets_web/ip/Market/Reports/PublicSummaryAllReportServlet",
    query = list(
      beginDate = format(start_date, "%m%d%Y"),
      endDate = format(end_date, "%m%d%Y"),
      contentType = "csv"
    )
  ) -> res

  content(res, as="text") %>% 
    stri_split_lines() %>% 
    flatten_chr() -> 

  read.csv(
    text = gsub("\"-\",", "",paste(c(paste(test[8:9], collapse=","), test[13:length(test)]), collapse="\n")),
    header = TRUE, stringsAsFactors=FALSE
  )  %>% janitor::clean_names() %>% 
    tbl_df()

}

xdf <- get_metered_volumes_report("2019-12-12", "2021-01-13")

我在 read.csv(gsub(""-",", "", paste(c(paste(test[8:9], collapse = ","), 中遇到错误:分配目标扩展为非-语言对象回溯:

标签: rrvesthttr

解决方案


推荐阅读