2013-11-17 3 views
1

У меня есть URL-адрес, и я хочу, чтобы загрузить файл с помощью R, я заметил, что download.file было бы полезно, но моя проблема выглядит иначе:Как скачать файл из Интернета с помощью R

url <- "http://journal.gucas.ac.cn/CN/article/downloadArticleFile.do?attachType=PDF&id=11771" 
destfile <- "myfile.pdf" 
download.file(url, destfile) 

Это Безразлично» работа! Я замечаю, что если мой url находится в форме xxx.pdf, тогда код выше не представляет проблемы, иначе загружаемый файл поврежден.

Кто-нибудь знает, как решить эту проблему?

+2

Пожалуйста, определите 'оно не работает'. Я могу загрузить файл с помощью 'download.file' и открыть его с помощью PDF-ридера, поэтому я не могу воспроизвести вашу проблему. Мое первое предположение, что вы находитесь за веб-прокси ... –

+0

Я запускаю код и могу получить файл «myfile.pdf», но когда я нажимаю на файл «myfile.pdf», я не могу его открыть, поэтому я думаю, что, возможно, я не загрузил его правильно. – PepsiCo

+0

Загрузка также отлично подходит для меня, и я могу открыть PDF-файл. PDF-файл на китайском языке, хотя, может быть, вы просто отсутствуете китайские шрифты? – nico

ответ

1

Установка режима может потребоваться для обработки файла в виде двоичных данных при его сохранении. Если я оставлю этот аргумент, я получаю пустой файл, но этот способ работает для меня:

url <- "http://journal.gucas.ac.cn/CN/article/downloadArticleFile.do? 
attachType=PDF&id=11771" 
destfile <- "myfile.pdf" 
download.file(url, destfile, mode="wb") 
+0

Да, это так. Я так глуп! Огромное спасибо. – PepsiCo

+0

Можете ли вы указать свою операционную систему и версию R? Параметр 'mode' используется только тогда, когда используется метод' internal'. Метод по умолчанию - 'auto', поэтому я подозреваю, что он может зависеть от ОС. У меня нет проблем при загрузке файла с использованием R 3.0.2 под FC18 64bit. – nico

+0

платформы x86_64-w64-mingw32 арк x86_64 ОС mingw32 системы x86_64, mingw32 статуса основных 3 незначительных 0,2 года 2013 месяца 09 дня 25 СВНОВ оборотов 63987 – Troy

Смежные вопросы