Skuteczne pobieranie dużych plików za pomocą R / RCurl
Widzę, że wiele przykładów pobierania plików binarnych za pomocą RCurl jest takich:
library("RCurl")
curl = getCurlHandle()
bfile=getBinaryURL (
"http://www.example.com/bfile.zip",
curl= curl,
progressfunction = function(down, up) {print(down)}, noprogress = FALSE
)
writeBin(bfile, "bfile.zip")
rm(curl, bfile)
Jeśli pobieranie jest bardzo duże, przypuszczam, że lepiej byłoby zapisywać je jednocześnie na nośniku pamięci, zamiast pobierać wszystko do pamięci.
W dokumentacji RCurl jest kilka przykładów pobierania plików przez porcje i manipulowania nimi podczas ich pobierania, ale wszystkie odnoszą się do fragmentów tekstu.
Czy możesz podać przykład pracy?
AKTUALIZACJAUżytkownik sugeruje użycie rodzimego Rdownload file
zmode = 'wb'
opcja dla plików binarnych.
W wielu przypadkach funkcja natywna jest realną alternatywą, ale istnieje wiele przypadków użycia, w których ta natywna funkcja nie pasuje (https, pliki cookie, formularze itp.) I dlatego RCurl istnieje.