R能否从网页列表中下载特定文件?

R能否从网页列表中下载特定文件?,r,download,R,Download,我有一个文件想从网页下载,例如 http://www.pdb.org/pdb/explore/explore.do?structureId=2GVS 我有一个包含2FBA、2GV等的列表 通过使用RCurl和XML,我知道R可以帮助将信息从网站废弃到数据帧。我是否可以使用R从网页下载所有2FBA.pdb、2GVS.pdb等文件,同时使用R指示如何替换最后4个字母(2FBA到2GVS…),并将所有这些文件下载到我的工作计算机 在我看来,它可以由python完成(stackoverflow的上一个

我有一个文件想从网页下载,例如

http://www.pdb.org/pdb/explore/explore.do?structureId=2GVS

我有一个包含2FBA、2GV等的列表

通过使用RCurl和XML,我知道R可以帮助将信息从网站废弃到数据帧。我是否可以使用R从网页下载所有2FBA.pdb、2GVS.pdb等文件,同时使用R指示如何替换最后4个字母(2FBA到2GVS…),并将所有这些文件下载到我的工作计算机


在我看来,它可以由python完成(stackoverflow的上一个回复)。但是,我对python不是很熟悉。这就是为什么我问R是否可以用一种聪明的方式为我做类似的事情。谢谢您的评论。

我会首先将所需的url粘贴在一起,然后使用
utils
包中的
download.file
。 类似于

my.url <- "www.somewhere.com"
my.files <- c("file1.xxx", "file2.xxx", "file3.xxx")

my.list <- as.list(paste(my.url, my.files, sep = "/"))

my.dl <- lapply(X = my.list, FUN = download.file)

my.url这里有一种使用
plyr
包的方法。其思想是构建一个函数,下载给定蛋白质的pdb文件,然后在
plyr
中使用
l_ply
循环遍历蛋白质列表

# function to download pdb file for a given protein
download_pdb = function(protein){

    base_url  = "http://www.pdb.org/pdb/files/"
    dest_file = paste(protein, '.pdb.gz', sep = "")    
    protein_url = paste(base_url, dest_file, sep = "")
    download.file(protein_url, destfile = dest_file)

}

proteins  = list('2FBA', '2GVS')
require(plyr)
l_ply(proteins, download_pdb)