リンクを含む表を使用してPDFをダウンロードしようとしています。リンクのフォーマットが一貫していないため、私は同じリンクの異なるバージョンを別々の列に作成しました。プライバシーの理由から私はリンクを公開することはできませんが、ここで私がしたことがあります。すべてのバージョンと名前を作成した後Rを使用してウェブのPDFをダウンロードしようとする
links <- data.frame(links1,links2,links3,links4)
filenames <- str_c(format(seq.Date(from = as.Date("2015-04-01"),
to = Sys.Date(), by = "day"),"%Y_%m_%d"),".pdf")
、ここで私は正しいされていないリンクにもかかわらず、継続してTry-Catch
に包まれたループを記述してみてください。私の目標は、列links$links1[3]
上のリンクが、同じ行の他の列を見て作業リンクを見つけることができないときです。その2015年およびおそらく他の日付あまりにも4月9日にアップロードされたPDFファイルを拾っていないいくつかの理由
for (i in seq_along(links[,1])) {
#using trycatch to bipass the error when url doesn't exist
tryCatch({
if (!file.exists(str_c(folder,"/",filenames[i]))) {
download.file(links[i,1], filenames[i], mode = "wb")
print(paste0("Downloading: ", filenames[i]))
} }, error = function(e){
for (j in seq_along(links[i,])){
tryCatch({
download.file(links[i,j], filenames[i], mode = "wb")
}, error = function(e){}
)
}
}
)
}
:
は、ここに私の試みです。
あなたはあなたの範囲に '2015_04_09'を含めています。その日や他の日にアップロードがなかった可能性はありますか? –
URLをブラウザに貼り付けたところ、PDFがあります。 – Jomisilfe
これは公衆インターネット上の認証されていないウェブサイトであれば、プライバシーはなく、私はこれらが敏感なPDFであることを願っています。あなたが 'httr :: GET(url、httr :: write_disk(filename)、httr()を使用した場合、Webサイトのファイアウォールを起動させるか、 :: verbose() 'あなたは実際のエラーが生成されているのを見ることができます。 – hrbrmstr