【发布时间】:2020-01-06 18:41:25
【问题描述】:
我正在尝试使用 R 从网站下载 pdf 文件。当我尝试使用函数 browserURL 时,它仅适用于参数 encodeIfNeeded = T。因此,如果我将相同的 url 传递给函数download.file,返回“cannot open destfile 'downloaded/teste.pdf', reason 'No such file or directory”,即找不到正确的url。
如何更正编码,以便能够以编程方式下载文件? 我需要自动执行此操作,因为要下载一千多个文件。
这是一个最小的可重现代码:
library(tidyverse)
library(rvest)
url <- "http://www.ouvidoriageral.sp.gov.br/decisoesLAI.html"
webpage <- read_html(url)
# scrapping hyperlinks
links_decisoes <- html_nodes(webpage,".borderTD a") %>%
html_attr("href")
# creating full/correct url
full_links <- paste("http://www.ouvidoriageral.sp.gov.br/", links_decisoes, sep="" )
# browseURL only works with encodeIfNeeded = T
browseURL(full_links[1], encodeIfNeeded = T,
browser = "C://Program Files//Mozilla Firefox//firefox.exe")
# returns an error
download.file(full_links[1], "downloaded/teste.pdf")
【问题讨论】:
-
您的工作目录中是否存在“已下载”文件夹?
download.file不会为您创建尚不存在的新文件夹。list.dirs(path = ".", recursive = FALSE)返回什么?