r - 从多个 html 下载多个 CSV
问题描述
我正在尝试从该网站下载多个 CSV:https ://promo.betfair.com/betfairsp/prices (加载需要一段时间)
我只想要以 dwbfpricesauswin 开头的文件,并希望将它们从 010119 到当前日期一一下载,并将它们保存在我的下载文件夹中。
mydownload <- function (start_date,end_date) {
start_date <- as.Date(start_date) ## convert to Date object
end_date <- as.Date(end_date) ## convert to Date object
dates <- as.Date("1970/01/01") + (start_date:end_date) ## date sequence
## a loop to download data
for (i in 1:length(dates)) {
string_date <- as.character(dates[i])
myfile <- paste0("C:\\Users\\andrewc\\Downloads",string_date,".csv")
string_date <- gsub("-","",string_date) ## replace "-" with ""
myurl <- paste("https://promo.betfair.com/betfairsp/prices/dwbfpricesauswin",string_date,".csv")
download.file(url=myurl,destfile=myfile,quiet=TRUE)
}
}
mydownload("2019/01/01","2019/08/28")
我是 R 新手,所以我的问题是我不确定如何以正确格式获取 url (010119) 的日期,并且我在 url 中得到空格,这给了我一个错误。
任何帮助将不胜感激。
解决方案
您可以生成您想要使用的日期范围:
s <- seq(as.Date("2019/01/01"), by="day", length.out=365)
date <- format(s, "%m%d%y")
例如,这将生成从 2019 年 1 月 1 日到 2019 年 12 月 31 日的日期序列,格式010119
为 。
对您当前脚本的另一项更正是:
myurl <- paste0("https://promo.betfair.com/betfairsp/prices/dwbfpricesauswin", string_date, ".csv")
默认情况下,该paste()
函数将使用空格作为分隔符将参数连接在一起。在这种情况下,您不希望 URL 中有这些空格,因此请paste0()
改用。
推荐阅读
- image - 在 Vue 中使用文件加载器有条件地渲染图像
- c# - 检查字符串是否只包含小写字母和符号
- react-native - 为什么 ESLint 在使用 flow 时会抛出错误?
- java - 列表中的特定组合
- javascript - 如何在 npm 包中添加文件夹作为条目?
- javascript - 在哪里可以找到有关流规范的更多信息
- javascript - 如何在 jQuery 插件中使用 .each()
- python - 如何有效地计算掷骰子的总和?
- c++ - 如何在 Qt 中打开和最小化外部应用程序到系统托盘
- docker - 如何在 Docker Hub 上找到 Docker 镜像?