【问题标题】:Download URL links using R使用 R 下载 URL 链接
【发布时间】:2015-08-24 04:08:19
【问题描述】:

我是 R 新手,想寻求一些建议。

我正在尝试下载多个 url 链接(pdf 格式,而不是 html)并使用 R 将其保存为 pdf 文件格式。

我拥有的链接是字符(取自网站的 html 代码)。

我尝试使用 download.file() 函数,但这需要特定的 url 链接(用 R 脚本编写),因此只能为 1 个文件下载 1 个链接。不过我有很多 url 链接,希望在这方面得到帮助。

谢谢。

【问题讨论】:

  • 你好。请在此处阅读如何在 R 中制作 a helpful example。很高兴看到您尝试过的内容以及遇到问题的地方。

标签: r


【解决方案1】:

我相信你想要做的是下载一个 URL 列表,你可以尝试这样的方法:

  1. 使用c(),ej:将所有链接存储在一个向量中:
urls <- c("http://link1", "http://link2", "http://link3")
  1. 遍历文件并下载每个文件:
for (url in urls) {
    download.file(url, destfile = basename(url))
}

如果您使用的是 Linux/Mac 和 https,您可能需要为 download.file 指定方法和额外属性:

download.file(url, destfile = basename(url), method="curl", extra="-k")

如果你愿意,可以在这里测试我的概念证明:https://gist.github.com/erickthered/7664ec514b0e820a64c8

希望对你有帮助!

【讨论】:

  • 非常感谢 :) 我可以知道如何重命名文件名吗?我尝试在行前使用 pdf.name
  • 嗨,重命名文件背后的基本思想是创建一个新变量,该变量将在下载之前存储目标文件名。我已经更新了要点gist.github.com/erickthered/7664ec514b0e820a64c8,以便根据当前日期和 URL 文件名重命名文件。关键行是:newName
  • 但是我已经为每个文件指定了日期和名称。我想将原始文件名更改为我已经创建的指定日期和名称。 Date 和 Heading 是我创建的变量。
  • 那么它应该可以工作。只需确保它们都没有特殊字符(例如“:”是特殊字符)。
  • 我做了 pdf.name
【解决方案2】:

网址

url = c('https://cran.r-project.org/doc/manuals/r-release/R-data.pdf',
        'https://cran.r-project.org/doc/manuals/r-release/R-exts.pdf',
        'http://kenbenoit.net/pdfs/text_analysis_in_R.pdf')

指定名称

names = c('manual1',
          'manual2',
          'manual3')

遍历文件,下载对应名称的每个文件:

for (i in 1:length(url)){
    download.file(url[i], destfile =  names[i], mode = 'wb')
}

【讨论】:

  • 这与上述现有答案有何不同?
  • 文件重命名为下载,解决方法是cmets中的问题。
  • 我真的很喜欢你在@Mutyalama 所做的一切。假设 url 有图像并且您想保存图像,您将如何编辑循环以保存 jpeg?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-08
  • 1970-01-01
  • 2011-08-22
  • 1970-01-01
相关资源
最近更新 更多