通过 url 循环下载 xls 文件给我损坏的文件

威尔卡

我正在从这个页面下载 xls 文件,并使用 R 循环遍历 url(基于第一步):

getURLFilename <- function(url){
  require(stringi)
  hdr <-paste(curlGetHeaders(url),collapse = '')
  fname <- as.vector(stri_match(hdr,regex = '(?<=filename=\\").*(?=\\")'))
  fname
}


for(i in 8:56) {
  i1 <- sprintf('%02d', i)
  url <- paste0("https://journals.openedition.org/acrh/29", i1, "?file=1")
  file <- paste0("myExcel_", i, ".xls")
  if (!file.exists(file)) download.file(url, file) 
 }

文件已下载但已损坏。

马可·桑德里

您应该使用mode="wb"indownload.file以二进制模式写入文件。

library(readxl)
for (i in 8:55) {
  i1 <- sprintf('%02d', i)
  url <- paste0("https://journals.openedition.org/acrh/29", i1, "?file=1")
  if (is.na(format_from_signature(url))) {
    file <- paste0("myPdf_", i, ".pdf")
  } else {
    file <- paste0("myExcel_", i, ".xls")
  }
  if (!file.exists(file)) download.file(url, file, mode="wb") 
}

现在下载的 Excel 文件没有损坏。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用熊猫从URL文件下载/加载xls

Django:如何通过Django视图下载.xls文件

下载.xls文件

使用循环下载 url/文件列表 - python

通过expressjs下载的文件都已损坏

打开损坏的.xls文件

如何下载通过http请求提供给我的文件?

当我从使用Java的文件夹下载Excel时,出现此错误“ .xls文件的格式和扩展名不匹配。该文件可能已损坏”

Angular2:下载我从后端获得的xls文件

Ruby / Nokogiri / Mechanize:如何下载XLS文件?

使用Python从aspx页面下载.xls文件

在grails中加密xls文件并下载

从网页、网络爬虫下载 xls 文件

通过ajax下载文件导致文件损坏

使用Java从URL下载EXE文件给我带来兼容性错误

Google Takeout给我下载了损坏的zip文件,根据浏览器的选择,zip文件会损坏吗?

当我尝试通过 requests.get() 下载时文件已损坏

如何通过Python中的URL下载Azure Blob存储文件?

下载通过R中的url链接的多个excel文件

等待直到通过webClient从URL下载文件

如何通过URL下载Azure BLOB存储文件

Python3,通过单击按钮从URL下载文件

如何通过大量重定向从URL下载文件

如何使用Selenium Webdriver通过URL列表下载文件

通过Excel中的宏从URL下载并重命名文件

通过 selenium 和 phantomjs 从动态 url 下载文件

download.file()下载损坏的xls

使用 Angular 和 Spring Boot 下载 Excel 会产生损坏的 xls 文件

从数据框循环URL并在Python中下载pdf文件