8

我正在尝试从此网址下载 zip 文件:

url1 <- http://www.clinicaltrials.gov/ct2/results?cond=%22acne%22&studyxml=true

这是我的代码:

tempZip <- tempfile()
download.file(url1, tempZip)

这是我得到的错误:

Warning message:
In download.file(url1, tempZip) :
  downloaded length 817445 != reported length 200

有任何想法吗?

编辑:好的,在看到下面 agstudy 的回复后,我发现文件确实正在下载(它似乎也是正确的文件大小)。现在的问题是当我尝试解压缩文件时 - 文件已损坏。

Maciej,我同意使用带有 .zip 扩展名的链接会更好,但是,无法从该网站获取该链接。

4

2 回答 2

8

好的,我知道出了什么问题。因为这个 url 末尾没有特别的“.zip”,所以 download.file 函数不知道使用二进制下载。这段代码解决了这个问题:

url1 <- http://www.clinicaltrials.gov/ct2/results?cond=%22acne%22&studyxml=true
tempZip <- tempfile()
download.file(url1, tempZip, mode="wb")

如果不指定 mode 参数,下载的 zip 文件将损坏。

于 2012-12-10T14:52:47.480 回答
1

您没有指向该文件的直接链接。R尝试下载网页而不是文件。使用以“.zip”结尾的链接。

XML使用或RCurl打包从该网页中抓取指向数据集的链接可能很有用。

于 2012-11-30T19:46:49.643 回答