Date Редакция Категория comp Теги R / скрапинг

Скачать веб-страницу в R можно с помощью функции download.file:

# адрес документа
url <- "http://curl.haxx.se/"
# папка, где будет сохраняться скачанные документы
download_folder <- "c:/Downloads"
# скачать файл
download.file(url,paste(download_folder,"curl.html",sep=""))

Функция paste выполняет конкатенацию строк, результатом которой, в данном случае, является полный путь к файлу на диске.

Скачать изображение или документ PDF можно аналогично:

pdf_url <- "http://cran.r-project.org/web/packages/downloader/downloader.pdf"
download.file(pdf_url,paste(download_folder,"downloader.pdf",sep=""),mode="wb")

Обратите внимание на режим скачивания файла, заданный атрибутом mode. "wb" означает: "записать (write) файл как бинарный (binary)". Иначе файл скачивается как текстовый, и при работе под Windows выдает ошибку чтения PDF. О разнице между бинарными (двоичными) и текстовыми файлами см. Википедию.

Удалить скачанный файл по окончании работы можно так:

file.remove(paste(download_folder,"downloader.pdf",sep=""))

Расширить возможности R по скачиванию документов можно с помощью пакета downloader. Заданная в нем функция download имеет те же опции, что и download.file, но в отличие от последней позволяет скачивать документы не только по протоколу HTTP, но и по HTTPS.

Еще больше протоколов передачи данных поддерживает пакет RCurl. Он является оберткой над известной библиотекой libcurl. Среди многочисленных возможностей этой библиотеки — формирование и отправка GET- и POST-запросов.



Комментарии

comments powered by Disqus